问题描述
有两个被广泛使用的测量温度的系统 —— 摄氏度和华氏度。第一个在欧洲相当流行,第二个使用也很广泛,例如在美国。
使用摄氏温度计测量水的冰点温度为0度,沸腾温度为100度。使用华氏温度计测量水的冰点温度为32度,沸腾温度为212度。你 可以从wikipedia on Fahrenheit来了解更多。使用这两个点来转换两种温度。
你将要编写程序来将华氏度转换为摄氏度。
输入数据 包含N+1个值,第一个是N自己(注意你不应该转换它)。
答案 应该包含确切的N个结果,约到最近的整数,并使用空格分隔。
示例:
代码
方法1
def tempCovert(Fahr):
Cel=(Fahr-32)/1.8
return round(Cel)
a=input().split()
result=[]
for i in range(1,int(a[0])+1):
b=tempCovert(int(a[i]))
result.append(b)
print(*result)
方法2
def tempCovert(Fahr):
Cel=(Fahr-32)/1.8
return round(Cel)
a=input().split()
b=list(map(int,a))
del b[0]
c=list(map(tempCovert,b))
print(*c)
知识点
此处list为方法函数转换为列表类型故用圆括号,range后面不能像字符串和列表一样用[]索引,用()进行索引。
slope = 100/(212-32)
offset = 32
f_list = input().split()[1:]
for f in f_list:
c = round((int(f)-offset) * slope)
print(c, end=" ")
可以在split()后继续切片。
data = raw_input().split(' ')
#print data
for x in range(int(data[0]) + 1):
if x != 0:
tempF = float(data[x])
tempC = (tempF - 32) * 5 / 9
tempC = int(round(tempC))
print str(tempC) + "
更工整一点用了x不等于0属于新思路