我做错了什么? 我刚刚开始学习python,所以我不太了解,请帮忙。 任务:将华氏度转换为摄氏度,反之亦然。 华氏度和摄氏温度的整数度在不同的行中给出。将计算出的转换值打印在不同的行上。
Input:95_F
73_C
a=input().split('_F')
b=input().split('_C')
a1=(5/9*(a-32))
a2=(9/5*b+32)
print (a1)
print (a2)
Traceback (most recent call last):
File "jailed_code", line 3, in <module>
a1=(5/9*(a-32))
TypeError: unsupported operand type(s) for -: 'list' and 'int'
答案 0 :(得分:2)
input().split()
为您提供了一个列表,并且您尝试用int
减去它,因此出现错误TypeError: unsupported operand type(s) for -: 'list' and 'int'
要解决此问题,您想通过splitting
在字符串split
之后获得列表的第一个元素,并通过int(var)
将字符串转换为整数
#Get the first element of the list after splitting the string, and convert that string to an integer
a=int(input().split('_F')[0])
b=int(input().split('_C')[0])
#Do the conversion
a1=(5/9*(a-32))
a2=(9/5*b+32)
#Print the temperatures
print(a1)
print(a2)
输出将为
35.0
163.4
答案 1 :(得分:0)
分割返回列表(元素类型等于字符串)
a=input().split('_F')
b=input().split('_C')
a=int(a[0])
b=int(b[0])
a1=(5/9*(a-32))
a2=(9/5*b+32)
print (a1)
print (a2)