Q在 Python 里,如何把用户输入的内容当作数字使用?很多时候用户输入到程序里的内容默认是字符串,如果我想直接做数学运算,该怎么处理?
A把输入先转换成数值类型
可以先用 input() 获取输入,再根据需要转换成 int() 或 float()。例如:num = int(input())。如果输入的是小数,就用 float()。这样得到的结果才能参与加减乘除运算。
Q如果用户输入了小数,Python 应该怎么读取?我希望程序能接收带小数点的数字,比如 3.14,这种情况要怎么写代码?
A使用 float 转换输入
读取小数时,可以写成 value = float(input())。这样用户输入 3.14、0.5 之类的内容时,程序会把它当作浮点数处理。
Q当用户输入的不是数字时,程序怎么避免报错?如果用户输入了字母或其他字符,直接转成数字会出错,有什么办法能更稳妥地处理?
A先做异常处理
可以用 try...except 包住转换代码,捕获 ValueError。例如:
try:
num = int(input())
except ValueError:
print('请输入有效数字')
这样即使用户输入了非数字内容,程序也不会直接崩溃。
Q如果需要一次输入多个数字,Python 怎么写更方便?我想让用户在一行里输入多个数,比如 1 2 3,这种场景要怎么处理?
A用 split 配合类型转换
可以先用 input().split() 按空格拆分,再逐个转成数字。例如:
nums = list(map(int, input().split()))
如果输入 1 2 3,nums 就会得到 [1, 2, 3]。如果需要小数,把 int 换成 float 即可。