拍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))