day3-ブランチとループジョブ

基本的な質問

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

    grade = float(input('请输入成绩:'))
    if 0<= grade < 60:
        print('不及格')
    elif 60 <= grade <= 100:
        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('请输入整数a:'))
    b = int(input('请输入整数b:'))
    if (a-b) & 1:
        print('a-b=', a-b, sep='')
    else:
        print('a-b的结果不是奇数')
    
  4. whileループを使用して、0〜100の3の倍数をすべて出力します。

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

    num = 0
    while num <= 100:
        if not num & 1:
            print(num)
        num += 1
    

高度な質問

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

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

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

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

    bit = 1
    num = int(input('请输入一个正整数:'))
    while num // 10 > 0:
     bit += 1
     num //= 10
    print(bit)
    
  4. 水仙の数をすべて印刷します。いわゆる水仙の数とは、立方体の合計が数自体に等しい3桁の数を指します。例:153は

    1³ + 5³ + 3³153に等しいため、水仙の数

    for x in range(100,1000):
     if (x // 100)**3 + (x // 10 % 10)**3 + (x % 10)**3 == x:
         print(x)
    

チャレンジ

  1. 指定された番号が素数であるかどうかを判別します(素数は素数、つまり、1とそれ自体を除いて他の数で割り切れない数です)。

    num = 10
    test = 2
    while test < num:
     if not num % test:
         print('它不是素数')
         break
     test += 1
    else:
     print('它是素数')
    
  2. Fibonacciシーケンスのn番目の数値の値を見つけます:1、1、2、3、5、8、13、21、34 ...(ここで、nは任意の正の整数であり、入力によって決定できます)

n = 1
if n == 0 or n == 1:
    print('第', n, '项是', 1)
else:
    p1 = p2 = 1
    for x in range(n-3):
        p1, p2 = p2, p1+p2
    print('第', n, '项是', p1+p2, sep='')
  1. 9 * 9式を出力します。プログラム分析:行と列を考慮して、合計9行と9列、i制御行、j制御列。

    for line in range(1, 10):
    for col in range(1, line+1):
      print(col, '×', line, '=', col*line, end='  ')
    # 一行结束后换行
    print()
    
  2. これは古典的な「100馬と100段」の問題です。100頭、100段、3つの大きな馬、2つの中型の馬、2つの小さな馬、1つの段があります。大、中、ポニーはいくつですか?(徹底的な方法を直接使用できます)

    for b in range(0, 100//3+1):
     for m in range(0, 100//2+1-b):
         s = 100-b-m
         if b*3 + m*2 + s*0.5 == 100:
             print('大马:', b, '中马:', m, '小马:', s)
    

おすすめ

転載: blog.csdn.net/xdhmanan/article/details/108786151