输入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."。

代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

lower,upper = map(int,input().split(" "))

if lower>upper :
    print("Invalid.")
    exit()
elif upper>100 :
    print("Invalid.")
    exit()
elif lower>100 :
    print("Invalid.")
    exit()

print("fahr celsius")
for value in range(lower,upper+1,2):
    C = 0
    C = 5 * (value - 32 )/9
    print("{:d}{:>6.1f}".format(value,C))

这个程序简单,主要就是格式问题弄对了就好。

刚开始的时候,我的输出是用下面语句:

print("{:d}".format(value),"{:>6.1f}".format(C))

自行测试没问题,提交显示格式错误,瞅了半天不知道哪里的问题,后来百度看了下,发现大家都是

print("{:d}{:>6.1f}".format(value,C))

这个输出语句提交后就不报错了。

仔细想了想,如果分开写的话,中间会多出来一个空格。嗯,是的,没错,就是这样子。

 

读书和健身总有一个在路上

本文版权归作者和博客共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。