python try and except 不给出期望值
python try and except not giving expected values
这是我的python程序
def try_ec(argument):
try:
int(argument)
except:
argument = input("Please enter a valid value: ")
a = []
score = 0
first = input("First Number: ")
try_ec(first)
first = int(first)
second = input("Second Number: ")
try_ec(second)
second = int(second)
Error
我正在尝试从用户那里获取一个整数并且我正在使用 try and except 如果用户错误地输入了一个字符串。但是我的代码给出了这个错误。
如何使代码正确?
您必须使用 while 循环来检查过程,直到它是正确的。
例如:
def take_int_input(text):
while True:
argument = input(text)
try:
return int(argument)
except:
print("Please enter a valid value!")
first = take_int_input("First Number: ")
second = take_int_input("Second Number: ")
那是因为你改变了语言环境变量。 First 的值永远不会改变。
考虑以下示例
a = 5
def mut(arg):
arg = 6
mut(a)
print(a) // 5
这是因为 arg 是传入参数的本地副本,它仅存在于该函数范围内。
这是我们可以做到的,
a = 5
def mut(arg):
arg = 6
return arg
a = mut(a)
print(a) // 6
通过返回新的计算值并将其分配给我们的初始变量。
你可以使用递归调用的方法将其转换为Int
。
def try_ec(argument):
try:
return int(argument)
except:
inpt = input("Please enter a valid value: ")
try_ec(inpt)
a = []
score = 0
first = input("First Number: ")
first = try_ec(first)
second = input("Second Number: ")
second = try_ec(second)
这是我的python程序
def try_ec(argument):
try:
int(argument)
except:
argument = input("Please enter a valid value: ")
a = []
score = 0
first = input("First Number: ")
try_ec(first)
first = int(first)
second = input("Second Number: ")
try_ec(second)
second = int(second)
Error
我正在尝试从用户那里获取一个整数并且我正在使用 try and except 如果用户错误地输入了一个字符串。但是我的代码给出了这个错误。 如何使代码正确?
您必须使用 while 循环来检查过程,直到它是正确的。
例如:
def take_int_input(text):
while True:
argument = input(text)
try:
return int(argument)
except:
print("Please enter a valid value!")
first = take_int_input("First Number: ")
second = take_int_input("Second Number: ")
那是因为你改变了语言环境变量。 First 的值永远不会改变。
考虑以下示例
a = 5
def mut(arg):
arg = 6
mut(a)
print(a) // 5
这是因为 arg 是传入参数的本地副本,它仅存在于该函数范围内。
这是我们可以做到的,
a = 5
def mut(arg):
arg = 6
return arg
a = mut(a)
print(a) // 6
通过返回新的计算值并将其分配给我们的初始变量。
你可以使用递归调用的方法将其转换为Int
。
def try_ec(argument):
try:
return int(argument)
except:
inpt = input("Please enter a valid value: ")
try_ec(inpt)
a = []
score = 0
first = input("First Number: ")
first = try_ec(first)
second = input("Second Number: ")
second = try_ec(second)