day3-分之和迴圈作業

安師兄發表於2020-09-24

基礎題

  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. 輸入兩個整數a和b,若a-b的結果為奇數,則輸出該結果,否則輸出提示資訊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. 統計100以內個位數是2並且能夠被3整除的數的個數。

    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. 列印出所有的水仙花數,所謂水仙花數是指一個三位數,其各位數字立方和等於該數本身。例如: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. 求斐波那契數列列中第n個數的值:1,1,2,3,5,8,13,21,34… (這兒的n可以是任意正整數,可以通過輸入來確定)

    
    
  3. 輸出9*9口訣。 程式分析:分行與列考慮,共9行9列,i控制行,j控制列。

    
    
  4. 這是經典的"百馬百擔"問題,有一百匹馬,馱一百擔貨,大馬馱3擔,中馬馱2擔,兩隻小馬馱1擔,問有大,中,小馬各幾匹?(可以直接使用窮舉法)

    
    

相關文章