拍7游戏
描述
“拍7游戏”规则是:一堆人围成一圈,开始时,任意指定一人说出数字“1”后,一圈人按顺时针方向,每人按整数由小到大的顺序一人一个地报出后续数字“2”、“3”......,当遇到为“7”的整数倍数字或含“7”的数字时,该念这个数字的人需要拍手一下并喊“跳过”(不能念出这个数字)。应该拍手并喊“跳过”的人,念出了数字,或者该念数字而拍手或喊“跳过”的人为输,接受惩罚后,游戏重新开始。
书写一个程序,接收用户的一个整数输入,输出从1到这个整数(包含这个整数)间所有应该拍手喊“跳过”的数字。每个数字输出占一行。
输入使用 input() ,不要附加任何参数和提示信息。
输入格式
输入一个整数,使用 input() 函数实现。不要为 input() 函数增加任何参数和提示信息。
输出格式
按行输出结果。具体参阅下方输入输出示例。
输入输出示例
输入 | 输出 | |
示例 1 |
|
|
示例 2 |
|
|
x=eval(input())
for i in range(1,x+1):
y=str(i)
if(i%7==0 or i%10==7):
print(i) elif(y[0]==''):
print(y)
else:
z=i
while(z>10):
z=z/10
if(z%10==7):
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 |
|
|
x=input()
if (x[-1]=='i'):
x=eval(x[:-1])
print("{:.2f}cm".format(x*2.54)) elif (x[-1]=='c'):
x=eval(x[:-1])
print("{:.2f}inch".format(x/2.54)) elif(len(x)>2):
if (x[-2]=='c'and x[-1]=='m'):
x=eval(x[:-2])
print("{:.2f}inch".format(x/2.54)) elif (len(x)>4):
if (x[-4]=='i'):
x=eval(x[:-4])
print("{:.2f}cm".format(x*2.54)) else :
print('输入错误。')
else :
print('输入错误。')
else :
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 |
|
|
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)
371554381006466
奇偶不同,结果不同(升级版)
描述
使用两个 input() 接收用户的两个输入,第一个为一个整数,第二个为一个任意字符串。根据第一个整数为奇数还是偶数执行不同的操作。
具体要求如下:
1、如果第一个整数为奇数(假设为3),第二个字符串假设为"abc",则输出3遍"abc"中间用英文逗号","分割;即第一个整数为奇数n,则输出n遍第二个字符串,字符串中间用英文逗号分割;
2、如果第一个整数为偶数(假设为4),第二个字符串假设为"abc",则输出4遍"abc"的逆序字符"cba"中间用英文逗号","分割;即第一个整数为偶数n,则输出n遍第二个字符串的逆序串,逆序串中间用英文逗号分割。
特被说明:输入使用 input(),不要增加额外的提示信息,输出结果中不要有任何空格类空白符号。
输入格式
两个输入第一个为正整数,第二个为一串字符,输入使用 input(),不要增加额外的提示信息。
输出格式
按要求输出一行结果,除此外不要输出任何内容。
输入输出示例
输入 | 输出 | |
示例1 |
|
|
示例2 |
|
|
x=int(input())
y=input()
if (x%2==1):
for i in range(x):
if(i==x-1):
print("{}".format(y),end='')
break;
print("{}".format(y),end=',') else :
for i in range(x):
if(i==x-1):
print("{}".format(y[::-1]),end='')
break;
print("{}".format(y[::-1]),end=',')
人民币和美元转换
描述
用户输入人民币或美金数额,转换为对应的美金或人民币数额。
用户输入的数字前后带有字符"r"或"R"表示为人民币,前后带有字符"u"或"U"表示美金。
编写程序实现此功能(汇率按 1美元=6.51人民币),输入使用input(),不要增加额外的提示信息。
输出结果为转换后的数值,保留两位小数。
提示:
输出格式可以采用print函数中留槽的方式使用 "{:.2f}"实现。
输入 | 输出 | |
示例1 |
|
|
示例2 |
|
|
示例3 |
|
|
示例4 |
|
|
示例5 |
|
|
示例6 |
|
|
示例7 |
|
|
示例8 |
|
|
x=input()
if (x[-1]=='R'or x[-1]=='r'):
x=eval(x[:-1])
print('{:.2f}'.format(x/6.51))
elif (x[0]=='R'or x[0]=='r'):
x=eval(x[1:])
print('{:.2f}'.format(x/6.51))
elif(x[-1]=='u'or x[-1]=='U'):
x=eval(x[:-1])
print('{:.2f}'.format(x*6.51))
elif (x[0]=='u'or x[0]=='U'):
x=eval(x[1:])
print('{:.2f}'.format(x*6.51))