Python Can';不要创建一个while无限循环

Python Can';不要创建一个while无限循环,python,Python,我试图在PyCharm中构建一个循环,强制用户只向程序提交整数。 但到目前为止,我只得到了循环中的输入 我该怎么办?这是因为input总是返回字符串。您可以做的是尝试将此字符串转换为int,捕获此转换失败时引发的异常,并要求用户重试。例如,像这样: x = None while x is None: try: x = int(input("Enter Number:")) except ValueError: print("Oops, this

我试图在PyCharm中构建一个循环,强制用户只向程序提交整数。 但到目前为止,我只得到了循环中的输入


我该怎么办?

这是因为
input
总是返回字符串。您可以做的是尝试将此字符串转换为int,捕获此转换失败时引发的异常,并要求用户重试。例如,像这样:

x = None
while x is None:
    try:
        x = int(input("Enter Number:"))
    except ValueError:
        print("Oops, this doesn't seem right, try again!")

这是因为
input
总是返回字符串。您可以做的是尝试将此字符串转换为int,捕获此转换失败时引发的异常,并要求用户重试。例如,像这样:

x = None
while x is None:
    try:
        x = int(input("Enter Number:"))
    except ValueError:
        print("Oops, this doesn't seem right, try again!")

您必须强制转换
input()
。如果用户提供了一个非整数,
int()
将抛出一个
ValueError
,您随后可以按如下方式进行处理



您必须强制转换
input()
。如果用户提供了一个非整数,
int()
将抛出一个
ValueError
,您随后可以按如下方式进行处理



您需要将输入转换为int:
entry=int(输入(“插入整数”)
除非绝对必要,否则请不要将信息作为图像共享。请参阅:,.
类型(条目)!=int
的行为与您期望的不一样。非常感谢您需要将输入转换为int:
entry=int(输入(“插入整数”)
除非绝对必要,否则请不要将信息作为图像共享。请参阅:,.
类型(条目)!=int
的行为不像您期望的那样。非常感谢您提出的问题:
print(“数字是:“+num”)
give
TypeError:只能将str(而不是“int”)连接到str
。我认为应该将其转换为
str
,使用
str.format()
print(f“数字是:{num}”)
print(数字是:“+num)给出
类型错误:只能将str(而不是“int”)连接到str
。我认为应该将其转换为
str
,使用
str.format()
print(f“数字是:{num}”)
对吗?
而x==None:
-->
而x是None:
@AMC,这是python大师喜欢指出的东西。。。就像《语法纳粹》和《米萨克斯》一样,哈哈。不管怎么说,编辑好了,谢谢。呃,我不是大师,我只是觉得值得一提。miTSakes麻省理工学院saké?
而x==None:
-->
而x是None:
@AMC,python大师们喜欢指出的那种东西。。。就像《语法纳粹》和《米萨克斯》一样,哈哈。不管怎么说,编辑好了,谢谢。呃,我不是大师,我只是觉得值得一提。miTSakes麻省理工学院saké?