0
0

More than 1 year has passed since last update.

事業企画1年目のpython学習4日目

Last updated at Posted at 2022-02-24

本記事について

とある事業会社で事業企画をやっています。
元々は、新規営業1年→エンプラ営業3年やっていました。
事業企画への異動に伴って、ルーチンワークの自動化やスクレイピングに興味を持ちpython学習をスタートしました。
目的達成までは記事を執筆予定です。どうぞよろしくお願いいたします。

開発環境

jupyterlab

使っている本

すっきりわかるpython入門
https://sukkiri.jp/books/sukkiri_python

勉強計画

週5日間ミニマム1h勉強する。
最初の1weekは1冊終わらせることをgoalに。
start@ 2022/2/21

学習時間

1.0h

学び

今日は繰り返しを学びたいと思います〜

繰り返しの基本構造(まずはwhileから)

羊が増えていく。

print("let's sleep")
count = 0
count += 1
print ( 'sheep is {}'.format(count))
count += 1
print ( 'sheep is {}'.format(count))
count += 1
print ( 'sheep is {}'.format(count))
print('good night')
#let's sleep
#sheep is 1
#sheep is 2
#sheep is 3
#good night

描き続けるのだるいから、楽にしましょう。

count = 0
while count <3:
    count +=1
    print('sheapi is {}'.format(count))
print('good night')
#sheapi is 1
#sheapi is 2
#sheapi is 3
#good night

whileブロックを指定し損ねると無限ループになる。
無限るーぷを止める方法は、jupyterLabでは、■ボタン押すと良い。

状態による繰り返し


is_awake= True
count = 0
while is_awake==True:
    count+=1
    print('sheap is {}'.format(count))
    key = input('already sleepy? (y/n) >>')
    if key == 'y':
        is_awake == False
print('good night')

繰り返しによるリストの作成


count=0
student_num = int(input('学生の数は? >>'))
score_list = list() #空のリストを作成している
while count <student_num: #入力された学生の数より少なければ繰り返し
    count += 1
    score = int(input('{}一目の点数を入力 >>'.format(count)))
    score_list.append(score) #入力された得点をリストに追加
print(score_list)
total = sum(score_list)
print('平均点は、{}点です'.format(total /student_num))
#学生の数は? >> 5
#1一目の点数を入力 >> 50
#2一目の点数を入力 >> 50
#3一目の点数を入力 >> 50
#4一目の点数を入力 >> 50
#5一目の点数を入力 >> 50
#[50, 50, 50, 50, 50]
#平均点は、50.0点です

この構文はよく使う。

カウンタ変数 = 0
while カウンタ変数 < len(リスト):
リスト[カウンタ変数]を使った処理
     カウンタ変数 +=1

リストの全要素を繰り返し参照する


#リスト内の合否判定をしていく。
scores = [80,70,60,50,40]
count = 0
while count < len(scores): 
    if scores[count] >= 60:
        print('passed')
    else:
        print('unpassed')
    count += 1
passed
passed
passed
unpassed
unpassed

for文

for変数 in リスト:
繰り返し処理。
タプルやディクショナリ、セットでも使えます。

scores = [80,20,75,60]
for data in scores:
    if data >60 :
        print('passed')
    else:
        print('unpassed')
#passed
#unpassed
#passed
#unpassed

range関数は、0から指定した数より1小さい整数までの要素を持つ整数列を作れる。
例えば、range(3)だと、0,1,2という整数列を作れる。

for num in range(3):
    print('python is fun')
#python is fun
#python is fun
#python is fun

繰り返しの制御

ages = [28,50,8,20,78,25,22,10,27,33]
num = 5
samples = list()
for data in ages:
    if 20 <= data < 30 :
        if len(samples) <num:
            samples.append(data)
            if len(samples) == num:
                break #抽出数が目標に達したので、for文を終了。
print(samples)
#[28, 20, 25, 22, 27]

繰り返しのスキップ

ages = [28, 50, 8, 20, 78, 25, 22, 10, 27, 33, '秘密']
samples = list() #空のリストを作る
for data in ages:
    if not isinstance(data, int): #文字列があった場合は、スキップ
        continue
    if data < 20 or data >= 30: #20歳より下、30より上の場合スキップ
        continue
    samples.append(data)
print(samples)
#[28, 20, 25, 22, 27]

continue文は、現在の回だけを中断し、次の回へ。
breake文は、繰り返し自体を中断する。

今日ミスったところ

if文の=を1つにしてしまったり、elseの:を忘れてしまったり・・・。

感想 

気づけば4日目。業務が忙しくならないことを祈り続ける日々です。そして、基礎編は終わり次回からは色々と本格的になっていく模様です。
通常の業務は大体9:00~20:00で今は終えていますが、前の営業時代は8:00-22:00とかもザラだったのでより早く追えられるよう、日々の生産性を意識しながら準備をしていきます。
今日は、なんかプログラミングっぽくて楽しかったです。
早く業務で使えるようになりたいな〜なんて思っていますが、たくさんのエラーに困らされそうです。
困った際はqiitaに質問をして皆さんに助けていただきたいな〜なんて思っています。
それでは本日もお疲れ様でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0