1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Paiza Python入門編3:ループ処理を学ぼう

Posted at

PaizaでPython3が完全無料なのでまとめました。

Paiza Python3入門編

##01:数値を繰り返して表示しよう

lesson.py
'''
for カウンタ変数 in 繰り返す範囲
    繰り返し処理
'''    
#カウンタ変数・・・繰り返しの対象のデータを入れる作業用の変数
#繰り返し処理は必ずインデントする


for i in range(5):
    print("hello world" + str(i))
    
for i in range(6,11):#6,7,8,...11で終了する
    print("hello world" + str(i))
    
#→6〜10まで表示される

print("last"+str(i))

#last10と表示される

##演習
1.「ハロー、paizaラーニング」を5回表示する

lesson.py
for i in range(5):
    print("ハロー、paizaラーニング")

2.数値0から15まで表示する

lesson.py
for i in range(16):
    print(i)

3.1月から12月まで表示する

for i in range(1,13):
    print(str(i) + "月" )

##02:条件に合わせて繰り返してみよう1

lesson.py

i=1#カウンタ変数を初期化
while i<=10: #1,2,3...11 whileの条件式が満たされるまで繰り返される
    print(i)  #繰り返処理
    i = i + 1 #カウンタ変数を更新
    print("next" + str(i))
print("last"+str(i))

##演習

1.「ハロー、paizaラーニング」を5回表示する

lesson.py
i=1#カウンタ変数を初期化
while i<=4:
    print("ハロー、paizaラーニング")  #繰り返処理
    i = i + 1 #カウンタ変数を更新

2.数値を0から5まで表示する

lesson.py
i=0#カウンタ変数を初期化
while i<=5: #1,2,3... whileの条件式が満たされるまで繰り返される
    print(i)  #繰り返処理
    i = i + 1 #カウンタ変数を更新

##03:条件に合わせて繰り返してみよう2

lesson.py
#カウンタ変数「i= i+1」がないと、「無限ループ」になりタイムアウトになる

i = 5# カウンタ変数を初期化
while i <= 15:
    print(i)# 繰り返し処理
    # カウンタ変数を更新
print("last:" + str(i))
lesson.py
#カウンタ変数書き方を変える「i +=1」

i = 5# カウンタ変数を初期化
while i <= 15:
    print(i)# 繰り返し処理
    i += 1# カウンタ変数を更新
print("last:" + str(i))
lesson.py

#カウンタ変数書き方変える「i -=1」
#減らしていく演算子 不等号を「while i>=1」に変える
#10〜1まで

i = 10# カウンタ変数を初期化
while i >= 1:
    print(i)# 繰り返し処理
    i -= 1# カウンタ変数を更新
print("last:" + str(i))

lesson.py
#スライムを攻撃
#ダメージは1から10までランダム
#スラムのHPが0になるまで繰り返す

import random
hp=30
while hp > 0:
    hit = random.randint(1,10)
    print("スライムに" + str(hit) + "のダメージを与えた!")
    hp -=hit
print("スライムを倒した")

##演習

1.5〜15まで、数値を1行ずつ表示する出力するプログラム

lesson.py
i = 5# カウンタ変数を初期化
while i <= 15:
    print(i)# 繰り返し処理
    i += 1# カウンタ変数を更新

2.数値を5から1までカウントダウン表示する

i = 5 # カウンタ変数を初期化
while i >= 1:
    print(i)# 繰り返し処理
    i -= 1# カウンタ変数を更新

3.1から10までの偶数を表示する

i = 2 # カウンタ変数を初期化
while i <= 10:
    print(i)# 繰り返し処理
    i += 2# カウンタ変数を更新

##04:繰り返しでHTMLを作成しよう

lesson.py


#HTMLタグの自動生成
#繰り返さないといけなくなる!
print("<select name=\'age\'>")
print("<option>1才</option>")
print("<option>2才</option>")
print("<option>3才</option>")
print("</select>")

#そんな時にfor文を使う

print("<select name=\'age\'>")
for age in range(10):
    print("<option>"+ str(age+1) + "才</option>")
print("</select>")

#range関数でrange(10)と出力すると1〜9までになる

##演習課題

lesson.py

print("<ul>")
print("<li>1</li>")
print("<li>2</li>")
print("<li>3</li>")
print("</ul>")

#for文の繰り返し処理

print("<ul>")
for age in range(100):
    print("<li>"+ str(age+1) + "</li>")
print("</ul>")

##05:データの読み込み(標準入力)

・プログラムの流れ

データを入力
↓
プログラムで処理
↓
理結果を出力



・データ入力の種類

----------------------
Webサービス/API

データベース

ファイル

キーボード実行時に指定
----------------------

↓入力

プログラム実行


・標準入力とは
もともとUnixの仕組み

----------------------
ファイル

キーボード

実行時に指定

----------------------
↓
標準入力
↓
プログラム実行


標準入力とは
もともとはLINUXなどのUnix系OSで用意されていた仕組みです。
標準入力に対応するようにプログラムを作っておけば、プログラム実行時に、ファイルを読み込んだり、キーボードからデータを読み込んだり、パラメータを指定したりというように、入力先を切り替えることができます。

input()関数
標準入力から1行読み込む

lesson.py
入力
paiza

line=input()

print("hello" + line)

出力
hellopaiza

lesson.py

入力
123

#数値の場合はintをつける

line=int(input())

print(line*10)

出力
1230

##演習

1.標準入力からテキストを取得する

lesson.py
入力
ハローパイザ

string=input()

print(string)

出力ハローパイザ

2.標準入力から数値を取得して計算する

lesson.py

入力
1234

line=int(input())

print(line*100)

出力
123400

##06:複数データを読み込んでみよう

lesson.py
入力
paiza
python


line = input()
print("hello " + line)
line = input()
print("hello " + line)

出力
hello paiza
hello python

#複数行標準入力したい

入力
3
paiza
python
world

count=int(input())
print("データ個数" + str(count))
for i in range(count):
    line = input ().rstrip()
#rstripでデータの行末を削除
    print("hello " + line)

出力
データ個数3
hello paiza
hello python
hello world

rstrip()関数
データの行末の改行を削除する。
改行が残っていると、その後の処理に悪影響を及ぼすことがあるので、ここで削除しています。インプットの後に、ドットに続けて記述することで、インプットの戻り値の改行を削除することができます。

lesson.py

入力
4
勇者
戦士
商人
魔法使い

count=int(input())
print("データ個数" + str(count))
for i in range(count):
    line = input ().rstrip()
    print(line + "は、スライムを攻撃した")

出力
データ個数4
勇者はスライムを攻撃した
戦士はスライムを攻撃した
商人はスライムを攻撃した
魔法使いはスライムを攻撃した

##演習

1.同じテキストを指定回数出力する

lesson.py
入力
8

count=int(input())
for i in range(count):
    print("スライムがあられた")

出力
スライムがあられた
スライムがあられた
スライムがあられた
スライムがあられた
スライムがあられた
スライムがあられた
スライムがあられた
スライムがあられた

2.標準入力とfor文の組み合わせ

lesson.py
入力
5
12

# 標準入力とループ処理
num1 = int(input())
num2 = int(input())

for i in range(num1, num2 + 1):
    print(i)

5
6
7
8
9
10
11
12

##07:西暦年と平成年の対応表を作ろう

lesson.py
for seireki in range(1989,2017):
    print("西暦"+ str(seireki) +"", end=" ")
    heisei = seireki -1988
    print("平成"+ str(heisei)+"年です。")

出力
西暦1926年は昭和1年です
西暦1927年は昭和2年です
:
:
西暦1988年は昭和63年です

##演習

1.西暦年と昭和年の対応表を作ろう

lesson.py
for seireki in range(1926,1989):
    print("西暦"+ str(seireki) +"年は",end="")
    heisei = seireki -1925
    print("昭和"+ str(heisei)+"年です")

2.特定期間の西暦年と昭和年の対応表を作ろう

lesson.py
入力
1975
10

start = int(input())
term = int(input())

for seireki in range(start, start + term):
    print("西暦" + str(seireki) + "年は", end = "")
    shouwa = seireki - 1925
    print("昭和" + str(shouwa) + "年です")

出力

西暦1926年は昭和1年です
西暦1927年は昭和2年です
:
:
西暦1987年は昭和62年です

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?