Python如何规定对方输入的数字必须是整数?

如题所述

1、可以使用字符串str的isdigit方法判断字符串是否是一个仅有数字组成,也就是整数。如果是整数退出while循环,否则继续请求输入。

while True:

x = input('Input an integer: ')

if x.isdigit():

break

else:

print 'Please input an *integer*'

2、也可以使用try-except语句。如果输入的字符串是整数,那么它可以用用int()函数,转换为int类并退出循环,否则会出现ValueError,可以使用try-except语句捕获ValueError,然后继续请求输入。

while True:

try:

x = input('Input an integer: ')

x = int(x)

break

except ValueError:

print 'Please input an *integer*'


扩展资料

Python 函数

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。

任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

函数内容以冒号起始,并且缩进。

return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-29

可以使用字符串str的isdigit方法判断字符串是否是一个仅有数字组成,也就是整数。如果是整数退出while循环,否则继续请求输入。

while True:
    x = raw_input('Input an integer: ')
    if x.isdigit():
        break
    else:
        print 'Please input an *integer*'

也可以使用try-except语句。如果输入的字符串是整数,那么它可以用用int()函数,转换为int类并退出循环,否则会出现ValueError,可以使用try-except语句捕获ValueError,然后继续请求输入。

while True:
    try:
        x = raw_input('Input an integer: ')
        x = int(x)
        break
    except ValueError:
        print 'Please input an *integer*'

第2个回答  2014-11-27
用try/except.
try:
int_input=int(str_input)

except TypeError:
raise Exception,'Please input a int number'

else:
......追问

那假如允许对方重新输入呢

追答

将raise Exception,'Please input a int number'改为continue

本回答被提问者采纳
相似回答