拍7游戲
描述
“拍7游戲”規則是:一堆人圍成一圈,開始時,任意指定一人說出數字“1”后,一圈人按順時針方向,每人按整數由小到大的順序一人一個地報出后續數字“2”、“3”......,當遇到為“7”的整數倍數字或含“7”的數字時,該念這個數字的人需要拍手一下並喊“跳過”(不能念出這個數字)。應該拍手並喊“跳過”的人,念出了數字,或者該念數字而拍手或喊“跳過”的人為輸,接受懲罰后,游戲重新開始。
書寫一個程序,接收用戶的一個整數輸入,輸出從1到這個整數(包含這個整數)間所有應該拍手喊“跳過”的數字。每個數字輸出占一行。
輸入使用 input() ,不要附加任何參數和提示信息。
輸入格式
輸入一個整數,使用 input() 函數實現。不要為 input() 函數增加任何參數和提示信息。
輸出格式
按行輸出結果。具體參閱下方輸入輸出示例。
輸入輸出示例
輸入 | 輸出 | |
示例 1 | |
|
示例 2 | |
|
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 | |
|
示例 2 | |
|
示例 3 | |
|
示例 4 | |
|
示例 5 | |
|
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 | |
|
示例 2 | |
|
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 | |
|
示例 2 | |
|
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 | |
|
示例2 | |
|
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 | |
|
示例2 | |
|
示例3 | |
|
示例4 | |
|
示例5 | |
|
示例6 | |
|
示例7 | |
|
示例8 | |
|
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))