首页 > 编程语言 > 详细

#022 Python 实验课

时间:2019-04-04 22:13:42      阅读:278      评论:0      收藏:0      [点我收藏+]

拍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]==cand 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]==Ror x[-1]==r):
 3     x=eval(x[:-1])
 4     print({:.2f}.format(x/6.51))
 5 elif (x[0]==Ror x[0]==r):
 6     x=eval(x[1:])
 7     print({:.2f}.format(x/6.51))
 8 elif(x[-1]==uor x[-1]==U):
 9     x=eval(x[:-1])
10     print({:.2f}.format(x*6.51))
11 elif (x[0]==uor x[0]==U):
12     x=eval(x[1:])
13     print({:.2f}.format(x*6.51))

 

#022 Python 实验课

原文:https://www.cnblogs.com/hx97/p/10656906.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!