gpt4 book ai didi

python - "try"在 "def"之后没有通过

转载 作者:行者123 更新时间:2023-11-28 16:43:35 25 4
gpt4 key购买 nike

我只是在尝试 Python,而且非常喜欢它!但是我被 try/except 困住了。

我有一个代码可以检查 raw_input 是否为整数,但我想让它起作用,但它不想成为它:)

这是代码,我有这个:

number_of_iterations = raw_input("What is your favorite number?")
try:
int(number_of_iterations)
is_number = True
except:
is_number = False

while not is_number:
print "Please put a number!"
number_of_iterations = raw_input("What is your favorite number?")
try:
int(number_of_iterations)
is_number = True
except:
is_number = False

我不想在这里重复我的话&所以我想着要实现功能:

def check_input(input_number):
try:
int(input_number)
return True
except:
return False

但是输入字符串就报错,说int不能用于字符串。看起来它没有看到“try”关键字。smone 可以解释为什么会发生这种情况以及将来如何预防吗?

最佳答案

试试这个,它可以避免在不需要 def

的情况下重复自己
while True:
try:
number_of_iterations = int(raw_input("What is your favorite integer?"))
break
except ValueError:
print "Please put an integer!"

编辑:根据评论者的建议,我已将 break 添加到 block 的 try 部分以消除 else(原文留作下文引用)。另外,我将“数字”更改为“整数”,因为“3.14”在上面的代码中无效。

这是我最初的建议。上面的行数更少(有些人可能会说这样更简洁),但我更喜欢下面的行,因为对我来说意图更清楚。

while True:
try:
number_of_iterations = int(raw_input("What is your favorite integer?"))
except ValueError:
print "Please put an integer!"
else:
break

关于python - "try"在 "def"之后没有通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com