#022 Python 實驗課


拍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
 1 x=eval(input())
 2 for i in range(1,x+1):
 3     y=str(i)
 4     if(i%7==0 or i%10==7):
 5         print(i)
 6 
 7     elif(y[0]=='7'):
 8         print(y)
 9     else:
10         z=i
11         while(z>10):
12             z=z/10
13             if(z%10==7):
14                 print(i)

關於數字中存在7的問題寫的有點亂需要改進

英寸和厘米的交互(升級版)

描述

雖然我國已經很好的普及了國際單位制,而在現實生活中,仍然有很多地方采用了英制單位來描述,例如,我們買一台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
輸入錯誤。

 

 1 x=input()
 2 if (x[-1]=='i'):
 3     x=eval(x[:-1])
 4     print("{:.2f}cm".format(x*2.54))
 5    
 6 elif (x[-1]=='c'):
 7     x=eval(x[:-1])
 8     print("{:.2f}inch".format(x/2.54))
 9     
10 
11 elif(len(x)>2):
12     if (x[-2]=='c'and x[-1]=='m'):
13         x=eval(x[:-2])
14         print("{:.2f}inch".format(x/2.54))
15         
16     elif (len(x)>4):
17         if (x[-4]=='i'):
18             x=eval(x[:-4])
19             print("{:.2f}cm".format(x*2.54))
20                     
21         else :
22             print('輸入錯誤。')
23     else :
24             print('輸入錯誤。')
25 else :
26     print('輸入錯誤。')

 

檢測是否需要切片的時候出現了x[-4]可能出現越界問題

所以使用了len(x)來修改這個問題

同時陷入了另一個問題,檢測長度大於2之后不能跳到else輸出輸入錯誤

只能編寫 多個print輸入錯誤

這里應該有更好的辦法只是我個人沒有發現需要繼續改進


 

其他題目中規中矩

求最大值偷懶了用了三個值排序的那個改了改

輸出3個數中的最大值

描述

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

輸入格式

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

輸出格式

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

輸入輸出示例

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

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

 

x=eval(input())
y=eval(input())
z=eval(input())
if(x>y):
    x=x+y
    y=x-y
    x=x-y
if(x>z):
    x=x+z
    z=x-z
    x=x-z
if(y>z):
    y=y+z
    z=y-z
    y=y-z
#print(x)
#print(y)
print(z)

700371554380988789

輸入3個數字,由小到大輸出

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

描述

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

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


輸入輸出示例

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

 

 

 

 

 

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

 

 1 x=eval(input())
 2 y=eval(input())
 3 z=eval(input())
 4 if(x>y):
 5     x=x+y
 6     y=x-y
 7     x=x-y
 8 if(x>z):
 9     x=x+z
10     z=x-z
11     x=x-z
12 if(y>z):
13     y=y+z
14     z=y-z
15     y=y-z
16 print(x)
17 print(y)
18 print(z)

371554381006466

奇偶不同,結果不同(升級版)

描述

使用兩個 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

 

 1 x=int(input())
 2 y=input()
 3 if (x%2==1):
 4     for i in range(x):
 5         if(i==x-1):
 6             print("{}".format(y),end='')
 7             break;
 8         print("{}".format(y),end=',')
 9 
10 else :
11      for i in range(x):
12         if(i==x-1):
13             print("{}".format(y[::-1]),end='')
14             break;
15         print("{}".format(y[::-1]),end=',')

人民幣和美元轉換

描述

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

用戶輸入的數字前后帶有字符"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

 

 1 x=input()
 2 if (x[-1]=='R'or x[-1]=='r'):
 3     x=eval(x[:-1])
 4     print('{:.2f}'.format(x/6.51))
 5 elif (x[0]=='R'or x[0]=='r'):
 6     x=eval(x[1:])
 7     print('{:.2f}'.format(x/6.51))
 8 elif(x[-1]=='u'or x[-1]=='U'):
 9     x=eval(x[:-1])
10     print('{:.2f}'.format(x*6.51))
11 elif (x[0]=='u'or x[0]=='U'):
12     x=eval(x[1:])
13     print('{:.2f}'.format(x*6.51))

 


免責聲明!

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



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