はじめに3日
pythonには、forループとwhileループの2種類のループがあります。
1.
シーケンス内の変数のforループ:
ループ本体
説明:
a.for / inキーワード、固定書き込み
b。変数、任意の変数、通常は新しい変数名を書き込みますc。Python
でのコンテナーデータタイプのシーケンス(例:string、list、tuple、set、iterator、ジェネレーター、範囲など
D.コロン:固定書き込み
e。ループ本体と1つ以上のステートメントをインデントしておくため:
ループ本体は繰り返し実行する必要があるコードブロックです
実行プロセス:
変数に値を1つずつ順番に取得させますフェッチ、フェッチされるまで:値がフェッチされるたびにループ本体を実行します。
(forループの数は、シーケンス内の要素の数です)
whileループの使用
whileTrue:
繰り返す必要のある操作
ifループの終了条件:
break
# 执行5次'hello'
for i in 'abcde':
print(i, 'hello')
# range(N) 产生一个 0 ~ N-1 的数字序列:0,1,2,3,...,N-1
# range(x,y) 产生一个 x ~ y-1 的数字序列:x,x+1,x+2,...,y-1
# (x,y都是整数,x < y)
# 打印10次‘hello’
for i in range(0, 10):
print(i, 'hello')
# range(x,y,step) step(步长),控制每次增加的值,默认是1
for i in range(0, 10, 3):
print(i, 'hello') # '3 hello' "6 hello"'9 hello'
# 产生100到1所有的数字对应的数列
for i in range(100, 0, -1):
print(i)
for i in range(-100, 0):
print(-i)
# 求1+2+3~+100的和
sum = 0
for i in range(0, 101):
sum += i
print(sum)
# 统计0~100中能被3整除的偶数的个数
# 方法一
count = 0
for i in range(0, 101, 3):
if i % 2 == 0:
count += 1
print(count)
# 方法二
count = 0
for i in range(0, 101, 6):
count += 1
print(count)
# 练习1:求1000以内能被7整除但是不能被3整除的数的和
sum = 0
for i in range(0, 1000, 7):
if i % 3 != 0:
sum += i
print(sum)
# 练习2:统计1000以内十位数加上个位数的和等于5的数的个数
sum1 = 0
for i in range(0, 1000):
if (i % 100 // 10) + (i % 10) == 5:
sum1 += 1
print(sum1)
sum = 1
while sum != '0':
sum = input('请输入: ')
print('循环结束')
# 九九乘法表
b=0
for x in range(1, 10):
for y in range(1, x+1):
print(y, '*', x, '=', x * y,end=" ",sep='')
b+=1
print('\n',b, sep=" ")
whileループ
構文:
while条件ステートメント:
ループ本体
説明:
while-キーワード;固定書き込み
条件ステートメント-割り当てステートメント以外の結果を持つ式
コロン:-固定書き込み
ループ本体-そして、インデント
ループ本体を維持する1つ以上のステートメントを繰り返し実行する必要がありますコード
実行プロセス:
最初に条件ステートメントがTrueかどうかを判断し、ループ本体がTrueの場合はループ本体を実行し、次にループ本体の実行後に
条件ステートメントを判断します...
条件ステートメントの判断結果がFalseになるまで、ループ本体全体が終了します。
forループとwhileの選択forループの
使用:
シーケンスをトラバースして(シーケンス内の要素を1つずつ取り出して)
サイクル数を決定します
whileループの使用:
無限
ループ、ループの数は不確実です
ループ本体でcontinueとbreakを使用すると、ループを
終了できます。
ループ本体の実行時にcontinueが発生すると、現在のループは次のループに直接借用します。
breakはループ全体を終了します。
ループ本体の実行中にbreakが発生すると、ループ全体が終了します。
'' '
継続の使用(現在のループをスキップして次のループを実行する)
randint(m、n)mからnまでのランダムな整数を
生成します0から100までの数字をランダムに生成します:num、ユーザーは入力値
が生成されたランダムな数字と等しくなり、ゲームが終了するまで数字を入力し続けます
count = 0
for i in range(10):
if i % 3 == 0:
continue
count += 1
print(count)
print('欢迎来到猜数字游戏....................')
num = randint(0, 100)
a=0
while True:
a+=1
num1 = int(input('请输入一个10以内的整数:'))
print('第',a,"次")
if num == num1:
print('恭喜恭喜猜对了也没有奖励')
break
elif num1 < num:
print('猜小了')
else:
print('猜大了')
print("游戏结束")
基本的な質問
-
入力したグレードの範囲
及格
またはに応じて印刷し不及格
ます。grade = int(input('请输入你的成绩: ')) if grade < 60: print("爪巴爪巴,不及格") else: print('及格')
-
入力した年齢範囲に従って、
成年
または未成年
年齢が通常の範囲(0〜150)内にない場合に印刷し这不是人!
ます。age = int(input('请输入你的年龄: ')) if 0 <= age < 18: print("爪巴爪巴,未成年!") elif 18 <= age <= 150: print('成年了!') else: print('老妖怪')
-
2つの整数aとbを入力します。abの結果が奇数の場合は結果が出力され、そうでない場合はプロンプトメッセージが出力されます
a-b的结果不是奇数
。a=int(input('请输入整数: ')) b=int(input('请输入整数: ')) if (a-b) & 1 : print(a-b,'是奇数') else: print("结果不是奇数")
-
whileループを使用して、0〜100の3の倍数をすべて出力します。
num = 100 while num >= 0: if num % 3 == 0: print(num) num -= 1
-
whileループを使用して、0〜100のすべての偶数を出力します。
num = 100 while num > 0: if not(num & 1): print(num,'是偶数') num -= 1
高度な質問
-
ループ計算の
1*2*3*4*...*10
結果を使用します。count=1 for i in range(1,11): count *= i print(count)
-
1桁が2で3で割り切れる100以内の数字の数を数えます。
sum=0 for i in range (0,101,3): if i % 10 == 2: sum+=1 print(sum,i)
-
正の整数を入力してください、それは何桁ですか?
注意: 这儿不能使用字符串,只能用循环
sum = int(input("请输入一个正整数: ")) a=0 whlie True: if sum //(10**a) != 0: a+=1 else: break print(a) num = int(input("请输入一个正整数: ")) a=0 while True: num //= 0 a+=1 if num==0: break print(a)
-
すべての水仙番号を印刷します。いわゆる水仙番号は3桁の番号を指し、桁の合計は番号自体に等しくなります。例:153は
⼀
1³ + 5³ + 3³
153に等しいため、耐水性の数Xianhua 。for i in range(100,1000): if (i // 100)**3+(i%100//10)**3+(i%10)**3==i: print("水仙花数是:",i)
チャレンジ
- 指定された番号が素数であるかどうかを判別します(素数は素数、つまり、1とそれ自体を除いて他の数で割り切れない数です)。
num= int(input("请输入一个数:"))
if num != 0:
for i in range(2,int(num**0.5)+1):
if num % i==0:
print("不是质数")
break
else:
print('是质数')
else:
print('不是质数')
- Fibonacciシーケンスのn番目の数値の値を見つけます:1、1、2、3、5、8、13、21、34 ...(ここで、nは任意の正の整数であり、入力によって決定できます)
num = int(input("请输入一个数:"))
a1 = 1
a2 = 1
for i in range(1,num):
a1, a2 = a2, a1+a2
print(a1)
-
9 * 9式を出力します。プログラム分析:行と列を考慮して、合計9行と9列、i制御行、j制御列。
for i in range(1,10): for j in range(1,i+1): print(j,'*',i,'=',j*i,end=' ',sep='') print('\n')
-
これは古典的な「100馬と100段」の問題です。100頭、100段、3つの大きな馬、2つの中型の馬、2つの小さな馬、1つの段があります。大、中、ポニーはいくつですか?(徹底的な方法を直接使用できます)
bd = 100
n = 0
m = 0
for big in range(0, 100 // 3 + 1):
n += 1
print('big第', n, '次循环')
for mid in range(0, 100 // 2 + 1 - big):
sm = 100 - big - mid
m += 1
print("mid第", m, "次循环")
if big * 3 + mid * 2 + sm * 0.5 == bd:
print('大马:', big, '中马:', mid, "小马:", sm)