gpt4 book ai didi

python - 在 Python 3.3.0 中可以用用户输入进行除法,但在 3.3.2 中则不行

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:29 25 4
gpt4 key购买 nike

在 python 版本 3.3.0 中编写程序时(由于非管理员权限,我无法更新),它工作得很好,但是现在我使用 python 版本 3.3.2,它不再工作,该程序如下:

num = input("please enter a value and press enter: ")

(假设选择1)

conv = input("what unit is the measurement in? cm, m, or km: ")

(假设选择cm)

if conv == "cm":
print("chosen value is cm, converting to m and km")
m = num/100
print(m , "meters")
km = num/100000
print(km , "kilometers")

所需的输出是(在 3.3.0 中找到):

please enter value and press enter: 1
your chosen value is: 1
what unit is the measurement in? cm, m, or km: cm
you have chosen cm, converting to m and km
0.01 meters
1e-05 kilometers

但我得到(在 3.3.2 中):

please enter value and press enter: 1
your chosen value is: 1
what unit is the measurement in? cm, m, or km: cm
you have chosen cm, converting to m and km
Traceback (most recent call last):
File "C:/Users/USER/Desktop/QUESTION.py", line 10, in <module>
m = num/100
TypeError: unsupported operand type(s) for /: 'str' and 'int'

最佳答案

我很惊讶它无论如何都能在某个地方起作用。使用 input() 函数时,Python returns a string (str) 来自已输入的内容。

基本上,您只需在初始化 num 变量后使用 num = int(num) 将文本转换为整数即可。为了干净起见,您还需要实现一个基本的错误处理系统,以防用户输入的输入不能隐式转换为整数。

例如:

num = ""
while not isinstance(num, int):
num = input("Please, enter a number\n>>> ")
try:
num = int(num)
except ValueError:
pass
# proceed with your code...

关于python - 在 Python 3.3.0 中可以用用户输入进行除法,但在 3.3.2 中则不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49567445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com