Python 请求正整数并验证输入的简单函数
我只是尝试创建一个函数,要求输入一个正整数,然后验证输入是否确实是一个正整数:Python 请求正整数并验证输入的简单函数,python,function,input,integer,Python,Function,Input,Integer,我只是尝试创建一个函数,要求输入一个正整数,然后验证输入是否确实是一个正整数: def int_input(x): x = input('Please enter a positive integer:') if x != type(int()) and x < 1: print("This is not a positive integer, try again:") else: print(x) int_input(x) de
def int_input(x):
x = input('Please enter a positive integer:')
if x != type(int()) and x < 1:
print("This is not a positive integer, try again:")
else:
print(x)
int_input(x)
def int_输入(x):
x=输入('请输入一个正整数:')
如果x!=类型(int())和x<1:
打印(“这不是正整数,请重试:”)
其他:
打印(x)
输入(x)
它给了我“名称错误:名称‘x’未定义”
这是如此的简单可笑,我觉得我应该在这上面找到很多帖子,所以我可能是瞎了
谢谢 您定义了该函数,然后将其作为参数传递
x
,但x
确实没有在int\u input(x)
的作用域中定义(在本例中为全局)
更正确的代码版本是:
def int_input(x):
if x != type(int()) and x < 1:
print("This is not a positive integer, try again:")
else:
print(x)
x = input('Please enter a positive integer:')
int_input(x)
将始终为False
,因为type(int())
将始终为int
(一种类型),而x
是一个值。哦,您也应该将一个值传递给int()
,否则它总是返回0
def int\u input():
def int_input():
x = input('Please enter a positive integer:')
if x != type(int()) and x < 1:
print("This is not a positive integer, try again:")
else:
print(x)
int_input()
x=输入('请输入一个正整数:')
如果x!=类型(int())和x<1:
打印(“这不是正整数,请重试:”)
其他:
打印(x)
int_输入()
应该是这样的,如果不声明
x
,就不能调用函数int\u input()?在这种情况下,您需要在if语句中说或
,而不是和
def int_input(x):
if x != type(int()) or x < 1:
print("This is not a positive integer, try again:")
else:
print(x)
x = input('Please enter a positive integer:')
int_input(x)
def int_输入(x):
如果x!=键入(int())或x<1:
打印(“这不是正整数,请重试:”)
其他:
打印(x)
x=输入('请输入一个正整数:')
输入(x)
此外,我不确定您使用的是哪个版本的python。3.x应该可以正常工作,但如果使用2.x,如果用户输入字符串,则会出现错误。为了防止出现这种情况,您可以添加一个例外,如下所示:
def int_input(x):
if x != type(int()) or x < 1:
print("This is not a positive integer, try again:")
else:
print(x)
try:
x = input('Please enter a positive integer:')
int_input(x)
except:
print("This is not a positive integer, try again:")
def int_输入(x):
如果x!=键入(int())或x<1:
打印(“这不是正整数,请重试:”)
其他:
打印(x)
尝试:
x=输入('请输入一个正整数:')
输入(x)
除:
打印(“这不是正整数,请重试:”)
您使用的是哪个Python版本?不清楚为什么您的函数首先将x
作为参数,但您的最后一行肯定传递了一个未定义的x
变量。@MoinuddinQuadri 3.5I只是不明白为什么我不能包含x=input(…)第二部分,我确实感觉它会给我带来问题,你可以,但在这种情况下,你不需要向你的函数传递任何参数。因此,您需要将其定义更改为defint\u input():
并通过执行int\u input()
而不是int\u input(x)
def int_input(x):
if x != type(int()) or x < 1:
print("This is not a positive integer, try again:")
else:
print(x)
try:
x = input('Please enter a positive integer:')
int_input(x)
except:
print("This is not a positive integer, try again:")