Python課 #04號作業


  前言:這次的作業有六道,難度均有所上升。敲代碼過程中遇到很多錯誤,准備總結出來作為一份錯誤經驗帖單獨列出來,敬請期待!      

  為了記錄我的Python課,將我的作業發上來,歡迎各位大佬評鑒。如果你有什么更好的想法,請在下方評論或聯系我。謝謝!

作業一:奇偶不同,結果不同(升級版)

描述

使用兩個 input() 接收用戶的兩個輸入,第一個為一個整數,第二個為一個任意字符串。根據第一個整數為奇數還是偶數執行不同的操作。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

具體要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

1、如果第一個整數為奇數(假設為3),第二個字符串假設為"abc",則輸出3遍"abc"中間用英文逗號","分割;即第一個整數為奇數n,則輸出n遍第二個字符串,字符串中間用英文逗號分割;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

2、如果第一個整數為偶數(假設為4),第二個字符串假設為"abc",則輸出4遍"abc"的逆序字符"cba"中間用英文逗號","分割;即第一個整數為偶數n,則輸出n遍第二個字符串的逆序串,逆序串中間用英文逗號分割。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

特別說明:輸入使用 input(),不要增加額外的提示信息,輸出結果中不要有任何空格類空白符號。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入格式

兩個輸入第一個為正整數,第二個為一串字符,輸入使用 input(),不要增加額外的提示信息。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸出格式

按要求輸出一行結果,除此外不要輸出任何內容。 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入輸出示例

  輸入 輸出
示例1
3 abc
abc,abc,abc
示例2
4 abcd
dcba,dcba,dcba,dcba

代碼:

a=int(input())
b=input()
if a%2==1:
    for i in range(a):
        if i==a-1:
            print("{}".format(b),end='')
            break;
        print("{}".format(b),end=',')

else :
     for i in range(a):
        if i==a-1:
            print("{}".format(b[::-1]),end='')
            break;
        print("{}".format(b[::-1]),end=',')
View Code

 

經驗

這道題參考了一位同學的答案,我的代碼使用split函數時總出錯,所以放棄使用那個函數了。

作業二:英寸和厘米的交互(升級版)

描述

雖然我國已經很好的普及了國際單位制,而在現實生活中,仍然有很多地方采用了英制單位來描述,例如,我們買一台65寸的電視,這個地方的寸指的就是英寸,或者拍一張2寸的照片,用的是相同的英制單位。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

現在已知 1英寸 = 2.54厘米。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

請編寫程序實現以英寸標識的數據和以厘米標識的數據的互相轉換。 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入格式

用戶輸入英制單位數據時,可以輸入的形式為以“i”或“inch”結尾的數字,例如:65i、23inch 。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

用戶輸入國際單位制數據時,可以輸入的形式為以“c”或“cm”結尾的數字,例如:18c、88cm 。 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

特別注意: 輸入使用input(),不要增加額外的提示信息  ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸出格式

結果為厘米為單位的數據時,輸出格式為數字后跟cm的形式,例如,120cm 。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

結果為英寸為單位的數據時,輸出格式為數字后跟inch的形式,例如,120inch 。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

用戶輸入的內容結尾不為“inch”、“i”、“cm”、“c”中的任何一個數據時,輸出結果為:輸入錯誤。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入輸出示例

請嚴格按照輸入輸出示例樣式完成程序。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

 

  輸入 輸出
示例 1
18i
45.72cm
示例 2
20inch
50.80cm
示例 3
66c
25.98inch
示例 4
50cm
19.69inch
示例 5
77f
輸入錯誤。

 

代碼:

a=input()
b=a[-1]
if b in["m","c"]:
    if b=="c":
        y=eval(a[:-1])/2.54
        print("{:.2f}inch".format(y))
    elif b=="m":
        y=eval(a[:-2])/2.54
        print("{:.2f}inch".format(y))
elif b in["h","i"]:
    if b=="i":
        y=eval(a[:-1])*2.54
        print("{:.2f}cm".format(y))
    elif b=="h":
        y=eval(a[:-4])*2.54
        print("{:.2f}cm".format(y))
else: print("輸入錯誤。")
View Code

 

經驗

(原版在我的上一篇博客 Python課  #03號作業中)作為英寸和厘米的交互升級版,主要區別是最后一位字符多了"m"(cm)和"h"(inch)的選項;以及在進行計算時,需要考慮把”inch“、"cm"、"i"、"c"等不同長度的字符串去掉的情況。不過我在想有沒有一個這樣的函數,可以直接去掉首位或者末尾字符串然后計算呢?

  老師提供了一種解題思路:

s=input('input a number start or end with u/U/r/R:')
if s[0] in 'uU' or s[-1] in 'uU':
    money=eval(s.strip('uU'))
    print('輸入的是美金{}元。'.format(money))
    print(type(money))
elif s[0] in 'rR' or s[-1] in 'rR':
    money=eval(s.strip('rR'))
    print('輸入的是人民幣{}元。'.format(money))
    print(type(money))
else:
    print('輸入錯誤')
View Code

 

作業三:人民幣和美元轉換

描述

用戶輸入人民幣或美金數額,轉換為對應的美金或人民幣數額。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

用戶輸入的數字前后帶有字符"r"或"R"表示為人民幣,前后帶有字符"u"或"U"表示美金。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

編寫程序實現此功能(匯率按 1美元=6.51人民幣),輸入使用input(),不要增加額外的提示信息。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸出結果為轉換后的數值,保留兩位小數。 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

提示:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸出格式可以采用print函數中留槽的方式使用 "{:.2f}"實現。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

  輸入 輸出
示例1
15.7r
2.41
示例2
14.3R
2.20
示例3
r5
0.77
示例4
R9.7
1.49
示例5
7.3u
47.52
示例6
9.7U
63.15
示例7
u8.8
57.29
示例8
U27
175.77

代碼:

a=input()
b=a[-1]
c=a[0]
if c in["u","U"]:
    y=eval(a[1:])*6.51
    print("{:.2f}".format(y))
elif c in["R","r"]:
    y=eval(a[1:])/6.51
    print("{:.2f}".format(y))
elif b in["u","U"]:
    y=eval(a[:-1])*6.51
    print("{:.2f}".format(y))
elif b in["R","r"]:
    y=eval(a[:-1])/6.51
    print("{:.2f}".format(y))
View Code

 

經驗

這道題一開始想用while循環語句,后來發現不用也可以達到目的。a[1:]的意思是除第一位以外的字符串。

作業四:輸出3個數中的最大值

描述

使用3個input()函數,接收3個整數,將其最大值輸出。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入格式

輸入使用input(),不要增加額外的提示信息。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸出格式

輸出內容為3個整數中的最大值,具體參閱輸入輸出示例。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入輸出示例

 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

  輸入 輸出
示例 1
3
9
8
9
示例 2
18 3 25
25

 

代碼:

a=eval(input())
b=eval(input())
c=eval(input())
if a>b:
    if a>c:
        print(a)
    else:
        print(c)
else:
    if b<c:
        print(c)
    else:
        print(b)
View Code

升級:后來老師說有max函數,所以可以寫為:

print("{}".format(max(eval(input()),eval(input()),eval(input())))

 

 

作業五:輸入3個數字,由小到大輸出

 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬

描述

用戶依次輸入3個數字(每個輸入占一行),如下面輸入所示,程序將這三個數字由小到大依次輸出,如下面輸出示例:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

注意:輸入使用 input() 形式,不要增加任何其他附加信息。 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入輸出示例

  輸入 輸出
示例 1
23 38 12
12 23 38
示例 2
65 53 17
17 53 65

代碼:

a=eval(input())
b=eval(input())
c=eval(input())
if a>b:
    if a>c:
        if b>c:
            print("{}\n{}\n{}\n".format(c,b,a))
        else:
            print("{}\n{}\n{}\n".format(b,c,a))
    else:
        print("{}\n{}\n{}\n".format(b,a,c))
else:
    if b>c:
        if a<c:
            print("{}\n{}\n{}\n".format(a,c,b))
        else:
            print("{}\n{}\n{}\n".format(c,a,b))
    else:
        print("{}\n{}\n{}\n".format(a,b,c))
View Code

 

經驗

也許這道題還有更簡單的代碼,我的代碼還是太過繁瑣,中間還丟過兩種情況,幸好后來發現了。

升級:

嗯,確實有更簡單的:

a=eval(input(""))
b=eval(input(""))
c=eval(input(""))
if a>b:
    a,b=b,a
if b>c:
    b,c=c,b
if a>c:
    a,c=c,a
print(a)
print(b)
print(c)
View Code

 

作業六:拍7游戲

描述

“拍7游戲”規則是:一堆人圍成一圈,開始時,任意指定一人說出數字“1”后,一圈人按順時針方向,每人按整數由小到大的順序一人一個地報出后續數字“2”、“3”......,當遇到為“7”的整數倍數字或含“7”的數字時,該念這個數字的人需要拍手一下並喊“跳過”(不能念出這個數字)。應該拍手並喊“跳過”的人,念出了數字,或者該念數字而拍手或喊“跳過”的人為輸,接受懲罰后,游戲重新開始。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

書寫一個程序,接收用戶的一個整數輸入,輸出從1到這個整數(包含這個整數)間所有應該拍手喊“跳過”的數字。每個數字輸出占一行。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入使用 input() ,不要附加任何參數和提示信息。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入格式

輸入一個整數,使用 input() 函數實現。不要為 input() 函數增加任何參數和提示信息。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸出格式

按行輸出結果。具體參閱下方輸入輸出示例。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

輸入輸出示例

 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

  輸入 輸出
示例 1
21
7
14
17
21
示例 2
30
7 14 17 21 27 28

代碼:

n=eval(input())
for i in range(1,n+1):
    y=str(i)
    if i%7==0:
        print(i)
    elif "7" in y:
        print(i)

 

升級版:

n=eval(input())
for i in range(1,n+1):
    y=str(i)
    if i%7==0 or"7" in y:
      print(i)

 

 

繼續升級:

for i in range(1,eval(input())+1):
    if i%7==0 or"7" in str(i):
        print(i)

 

  經驗:審題是關鍵啊!條件有2個:一是7的公倍數,另一個是含7的字符串。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM