问题描述
输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。输出华氏-摄氏温度转换表
输入:在一行中输入2个整数,分别表示lower和upper的值,中间用英文逗号分开。
输出:第一行输出:“fahr celsius”,接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。若输入的范围不合法,则输出"Invalid."。
解决方案
问题是要把华氏温度转化为摄氏温度,所以我们先应该对华氏温度给定一个范围,再在lower和upper限定的范围里进行转换。先要判断输入的lower和upper的大小关系,进行分类讨论,再循环输出给定范围内的所有华氏温度的摄氏温度。
代码清单
a,b=map(int,input("请输入两个整数表示lower和upper,并以英文逗号隔开:").split(","))#将int依次作用于a,b,同时输入a和b.
if a>b:
print("Invalid.")#a>b,输入范围不合法。
else:
print("fahr celsius")
i=a#将a的值赋给i
while i<=b:
print("{:d}{:>6.1f}".format(i,5*(i-32)/9))#输出左边为华氏温度,右边为摄氏温度并占据6个字符宽度,靠右对齐,保留1位小数。
i+=2#每执行一次,i的值就加2,也就是循环每执行一次增加2华氏度又继续执行,直到不满足i<=b,结束循环,得到最终结果。
运行结果:
结语
本次算法创作我们小组就华氏温度与摄氏温度的转换进行了研究,本次我们用到了map函数,if的条件判断与while循环语句,看似很简单的一个问题,其实有多种解法:for循环、while循环。经过不断的调整,我们让代码变得更加人性化更通俗易懂,在后续的学习与算法创作中,我们会不断提高使用Python的能力,更上一层楼。
实习编辑:衡辉
作者:彭诚、严洁、张淑娟
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。