入国から投獄まで-オペレーターと支部の構造(2)

はじめに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("游戏结束")

基本的な質問

  1. 入力したグレードの範囲及格またはに応じて印刷し不及格ます。

    grade = int(input('请输入你的成绩: '))
    if grade < 60:
        print("爪巴爪巴,不及格")
    else:
        print('及格')
    
  2. 入力した年齢範囲に従って、成年または未成年年齢が通常の範囲(0〜150)内にない場合に印刷し这不是人!ます。

    age = int(input('请输入你的年龄: '))
    if 0 <=  age < 18:
        print("爪巴爪巴,未成年!")
    elif 18 <= age <= 150:
        print('成年了!')
    else:
        print('老妖怪')
    
  3. 2つの整数aとbを入力します。abの結果が奇数の場合は結果が出力され、そうでない場合はプロンプトメッセージが出力されますa-b的结果不是奇数

    a=int(input('请输入整数: '))
    b=int(input('请输入整数: '))
    if (a-b) & 1 :
        print(a-b,'是奇数')
    else:
        print("结果不是奇数")
    
  4. whileループを使用して、0〜100の3の倍数をすべて出力します。

    num = 100
    while num >= 0:
        if num % 3 == 0:
            print(num)
        num -= 1
    
  5. whileループを使用して、0〜100のすべての偶数を出力します。

    num = 100
    while num > 0:
        if not(num & 1):
            print(num,'是偶数')
        num -= 1
    

高度な質問

  1. ループ計算の1*2*3*4*...*10結果を使用ます

    count=1
    for i in range(1,11):
        count *= i
    print(count)
    
  2. 1桁が2で3で割り切れる100以内の数字の数を数えます。

    sum=0
    for i in range (0,101,3):
        if i % 10 == 2:
            sum+=1
    print(sum,i)
    
  3. 正の整数を入力してください、それは何桁ですか?

    注意: 这儿不能使用字符串,只能用循环

    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)
    
    
    
  4. すべての水仙番号を印刷します。いわゆる水仙番号は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. 指定された番号が素数であるかどうかを判別します(素数は素数、つまり、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('不是质数')
  1. 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)
  1. 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')
    
  2. これは古典的な「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)

おすすめ

転載: blog.csdn.net/weixin_44628421/article/details/108789235