所以,我想用python 3编写一个程序,它可以帮助用户计算圆和圆球的周长。到目前为止,这就是我所拥有的。
pi = 3.14159
value = input("Enter the value of your radius:")
circ = 2*pi*value
print(circ)
但是,它一直说“不能将序列乘以'int'类型的非int”。我该如何解决?而且,如何仅将输入作为数字?谢谢。
答案 0 :(得分:0)
试
value = float(input("Enter the value of your radius: "))
请注意,如果输入不是数字,则会抛出错误。
此外,虽然您无法控制他们输入的内容,但如果他们输入其他任何内容,您可以继续询问数字:
while True:
try:
value = float(input("Enter the value of your radius: "))
except ValueError:
print("Please enter a number")
答案 1 :(得分:0)
按原样运行程序
bash-3.2$ python3 test.py
Enter the value of your radius:10
Traceback (most recent call last):
File "test.py", line 3, in <module>
circ = 2*pi*value
TypeError: can't multiply sequence by non-int of type 'float'
问题是value
在input
返回后包含一个字符串
并且python试图将float(2 * pi)和字符串(字符序列value
)相乘。
要纠正此问题,您可能希望在乘法之前将值转换为浮点数。
e.g。
pi = 3.14159
value = input("Enter the value of your radius:")
circ = 2*pi*float(value)
print(circ)
使用此更改运行示例
bash-3.2$ python3 test.py
Enter the value of your radius:10
62.8318