我可以在 TRY 和 EXCEPT 子句中添加 IF 子句吗

Can I add IF clause to TRY & EXCEPT clause

如有格式问题请见谅!

我正在创建 2 个变量,即均值和方差。仍在处理“方差”变量,因此请忽略该部分。

背景介绍:

均值和方差是整数输入。均值可以是任何值,另一方面,方差的值必须大于 1。只要输入提示,用户直接按回车键(没有任何输入),均值和方差将为分别为 0 和 1。

我已经尝试过这个问题并希望将 TRY 和 EXCEPT 子句与 IF 子句集成在一起,因为要检查 ValueError 并在用户没有任何值的情况下按回车键时自动停止程序...

我不确定这是否可行,请任何人提供建议...非常感谢!

这是我的代码:

mean = 0
variance = 1

valid_input = False
while valid_input == False:
    try:
        mean = int(input("Please enter the mean value: "))
        if mean == "":
            valid_input = True
            break
    except ValueError:
        print("Please enter a numeric value!")
    else:
        valid_input = True
print (mean, variance)
mean = 0
variance = 1
mean = input("Please enter the mean value: ")
try:
    mean = int(mean)
    print (mean, variance)
except ValueError:
    print("Please enter a numeric value!")

这行得通。如果输入不是 int,则打印 Please enter a numeric value 并退出程序。

或者你也可以用下面的代码来判断用户输入的是不是整数,如果是,就把它转成int。您现在不需要 try-except 块。 Ref

import re
# read value from keyboard
value = input("Enter a string\n")
# match the entered value to be a number
result = re.match("[-+]?\d+$", value)
# check if there was a match
if result is not None:
    print("Entered string is an integer")
    print(int(value))
else:
    # entered value contains letters also
    print("Entered string is not an integer")