是Python的程序,我这个程序输入字符串,把报错功能改成先提醒(抱歉,请重新输入),不让程序报错。

2025-06-26 13:34:25
推荐回答(1个)
回答1:

看你的程序是Python3.x。

注意,python3.x 里 input() 默认接收到的是 str 类型,相当于 Python2.x 中的 raw_input(),raw_input() 在Python3.x中已经去除。

而在 Python2中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

比如在Python3.x 中,

>>>a = input()
1
>>>type(a)

说明无论你怎么输入,a都是str类型。

而在Python2.x中,

>>>a = input()
1
>>>type(a)

因此,如果在Python3.x环境中,我建议你把程序修改为以下形式,

temp = input('请输入数字:')
while not temp.isdigit():
    print('抱歉, 输入不合法,',end='')
    temp = input('请输入一个整数:')