英寸和厘米的交互python_Python课 #04号作业
前言:这次的作业有六道,难度均有所上升。敲代码过程中遇到很多错误,准备总结出来作为一份错误经验帖单独列出来,敬请期待!
为了记录我的Python课,将我的作业发上来,欢迎各位大佬评鉴。如果你有什么更好的想法,请在下方评论或联系我。谢谢!
作业一:奇偶不同,结果不同(升级版)
描述
使用两个 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
代码:
a=int(input())
b=input()if a%2==1:for i inrange(a):if i==a-1:print("{}".format(b),end='')break;print("{}".format(b),end=',')else:for i inrange(a):if i==a-1:print("{}".format(b[::-1]),end='')break;print("{}".format(b[::-1]),end=',')
View Code
经验:
这道题参考了一位同学的答案,我的代码使用split函数时总出错,所以放弃使用那个函数了。
作业二:英寸和厘米的交互(升级版)
描述
虽然我国已经很好的普及了国际单位制,而在现实生活中,仍然有很多地方采用了英制单位来描述,例如,我们买一台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
输入错误。
代码:
a=input()
b=a[-1]if b in["m","c"]:if b=="c":
y=eval(a[:-1])/2.54
print("{:.2f}inch".format(y))elif b=="m":
y=eval(a[:-2])/2.54
print("{:.2f}inch".format(y))elif b in["h","i"]:if b=="i":
y=eval(a[:-1])*2.54
print("{:.2f}cm".format(y))elif b=="h":
y=eval(a[:-4])*2.54
print("{:.2f}cm".format(y))else: print("输入错误。")
View Code
经验:
(原版在我的上一篇博客 Python课 #03号作业中)作为英寸和厘米的交互升级版,主要区别是最后一位字符多了"m"(cm)和"h"(inch)的选项;以及在进行计算时,需要考虑把”inch“、"cm"、"i"、"c"等不同长度的字符串去掉的情况。不过我在想有没有一个这样的函数,可以直接去掉首位或者末尾字符串然后计算呢?
老师提供了一种解题思路:
s=input('input a number start or end with u/U/r/R:')if s[0] in 'uU' or s[-1] in 'uU':
money=eval(s.strip('uU'))print('输入的是美金{}元。'.format(money))print(type(money))elif s[0] in 'rR' or s[-1] in 'rR':
money=eval(s.strip('rR'))print('输入的是人民币{}元。'.format(money))print(type(money))else:print('输入错误')
View Code
作业三:人民币和美元转换
描述
用户输入人民币或美金数额,转换为对应的美金或人民币数额。
用户输入的数字前后带有字符"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
代码:
a=input()
b=a[-1]
c=a[0]if c in["u","U"]:
y=eval(a[1:])*6.51
print("{:.2f}".format(y))elif c in["R","r"]:
y=eval(a[1:])/6.51
print("{:.2f}".format(y))elif b in["u","U"]:
y=eval(a[:-1])*6.51
print("{:.2f}".format(y))elif b in["R","r"]:
y=eval(a[:-1])/6.51
print("{:.2f}".format(y))
View Code
经验:
这道题一开始想用while循环语句,后来发现不用也可以达到目的。a[1:]的意思是除第一位以外的字符串。
作业四:输出3个数中的最大值
描述
使用3个input()函数,接收3个整数,将其最大值输出。
输入格式
输入使用input(),不要增加额外的提示信息。
输出格式
输出内容为3个整数中的最大值,具体参阅输入输出示例。
输入输出示例
输入
输出
示例 1
3
9
8
9
示例 2
18
3
25
25
代码:
a=eval(input())
b=eval(input())
c=eval(input())if a>b:if a>c:print(a)else:print(c)else:if b
View Code
升级:后来老师说有max函数,所以可以写为:
print("{}".format(max(eval(input()),eval(input()),eval(input())))
作业五:输入3个数字,由小到大输出
描述
用户依次输入3个数字(每个输入占一行),如下面输入所示,程序将这三个数字由小到大依次输出,如下面输出示例:
注意:输入使用 input() 形式,不要增加任何其他附加信息。
输入输出示例
输入
输出
示例 1
23
38
12
12
23
38
示例 2
65
53
17
17
53
65
代码:
a=eval(input())
b=eval(input())
c=eval(input())if a>b:if a>c:if b>c:print("{}\n{}\n{}\n".format(c,b,a))else:print("{}\n{}\n{}\n".format(b,c,a))else:print("{}\n{}\n{}\n".format(b,a,c))else:if b>c:if a
View Code
经验:
也许这道题还有更简单的代码,我的代码还是太过繁琐,中间还丢过两种情况,幸好后来发现了。
升级:
嗯,确实有更简单的:
a=eval(input(""))
b=eval(input(""))
c=eval(input(""))if a>b:
a,b=b,aif b>c:
b,c=c,bif a>c:
a,c=c,aprint(a)print(b)print(c)
View Code
作业六:拍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
代码:
n=eval(input())for i in range(1,n+1):
y=str(i)if i%7==0:print(i)elif "7" iny:print(i)
升级版:
n=eval(input())for i in range(1,n+1):
y=str(i)if i%7==0 or"7" iny:print(i)
继续升级:
for i in range(1,eval(input())+1):if i%7==0 or"7" instr(i):print(i)
经验:审题是关键啊!条件有2个:一是7的公倍数,另一个是含7的字符串。
英寸和厘米的交互python_Python课 #04号作业相关推荐
- 英寸和厘米的交互python_Python的新手-尝试将厘米编码为英寸,反之亦然
这个问题已经在这里有了答案: > How to test multiple variables against a value? ...
- 英寸和厘米的换算python_Python的新手-尝试将厘米编码为英寸,反之亦...
这个问题已经在这里有了答案:????????????>????????????How to test multiple variables against a value???????????? ...
- 英寸和厘米的交互(升级版)----Python
描述 虽然我国已经很好的普及了国际单位制,而在现实生活中,仍然有很多地方采用了英制单位来描述,例如,我们买一台65寸的电视,这个地方的寸指的就是英寸,或者拍一张2寸的照片,用的是相同的英制单位. ...
- 英寸和厘米的交互python_matplotlib 设置图形大小时 figsize 与 dpi 的关系
matplotlib 中设置图形大小的语句如下: fig = plt.figure(figsize=(a, b), dpi=dpi) 其中: figsize 设置图形的大小,a 为图形的宽, b 为图 ...
- python英寸和厘米的交互_python – 确定matplotlib轴大小(以像素为单位)
这给出了以英寸为单位的宽度和高度. bbox = ax.get_window_extent().transformed(fig.dpi_scale_trans.inverted()) width, h ...
- python编写用户输入的是q么代码_Python课 #01号作业
为了记录我的Python课,将我的作业发上来,欢迎各位大佬评鉴.如果你有什么更好的想法,请在下方评论或联系我.谢谢! 作业一:向某人打招呼 描述 程序接收用户输入的姓名,然后输出向该姓名问好的文字. ...
- Python课 #06号作业
为了记录我的Python课,将我的作业发上来,欢迎各位大佬评鉴.如果你有什么更好的想法,请在下方评论或联系我.谢谢! 作业一:苹果.李子.橙 描述 1只苹果4元,1只橙子3元,4只李子1元,给你n元( ...
- python英寸与厘米交互_运用python实现英制单位英寸与公制单位厘米互换
python能实现的东西有很多,其中就有运用python来实现英制单位英寸与公制单位厘米互换,那么具体应用怎么换算呢?下面羽忆教程网为你提供运用python实现英制单位英寸与公制单位厘米互换的教程. ...
- 图片像素、英寸、厘米之间的单位换算
转自:http://hi.baidu.com/cjg501/blog/item/f040fc0898d5379f0b7b8244.html 今天朋友用photoshop处理图片时要把图片保存指定的大小 ...
最新文章
- 机械自动化专业转 PLC 还是单片机,路会更好走一些?
- 面试后说hold什么意思_民间说的命硬是什么意思?
- 阿里云物模型层功能分析
- 20个超高效的Linux命令与技巧
- 【BZOJ3772】精神污染
- python创建初始值列表_Python - 创建具有初始容量的列表
- Ubuntu16.04安装docker
- 菜单 java_java 菜单
- 存储基础:磁盘 IO 为什么总叫你对齐?
- 13个您应该安装的WordPress插件
- Vertica系列: Vertica 数仓简单介绍
- 如何下载高程地图并处理
- 驾驶员监控系统 DMS
- Linux——stack smashing detected
- openlayers4+中高德导航路径的实现
- 2019ICPC徐州 H - Yuuki and a problem (动态(带修)主席树 + 区间Mex问题)
- PTA L1-006 连续因子(详解)
- 程序人生路上的新阶段
- 在1至2019中,有多少个数的数位中包含数字9?(java)
- Java中Date转Long 和Long转Date
热门文章
- 谷歌地球的高清卫星影像数据都来源自哪里?用户如何下载谷歌影像?
- mysql rebuild index_批量rebuild索引
- 计算机未连接到互联网(win11系统)
- Artifactory的搭建与使用简介
- 8cm等于多少像素_1cm等于多少像素??
- 文心一言 vs GPT-4,百度背水一战交卷
- 【已解决】ansys打开没有主界面,只有output窗口怎么回事?
- Spring boot实训开发个人博客(二)详情页
- thinkpadE450 进入bios并设置bios为uefi模式U盘启动(也可以是legacy)
- python使用keyboard库写的GUI键盘宏