算法创作|华氏温度与摄氏温度的转换问题
问题描述输入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的值赋给iwhile 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的能力,更上一层楼。实习编辑:衡辉作者:彭诚、严洁、张淑娟