Python 3.x 创建一个函数来测试两个范围之间的值

Python 3.x 创建一个函数来测试两个范围之间的值,python-3.x,Python 3.x,我想在此代码中创建一个函数,在输入值超出输入范围时将用户回退,因此,如果第一个数字和第二个数字在任何计算中都未超出上限或低于下限,则返回错误消息并提示重试 while True: try: number1 = int(input('Enter your Lower Range:')) if number1 < -100 or number1 > 100: raise ValueError break

我想在此代码中创建一个函数,在输入值超出输入范围时将用户回退,因此,如果第一个数字和第二个数字在任何计算中都未超出上限或低于下限,则返回错误消息并提示重试

while True:
    try:
        number1 = int(input('Enter your Lower Range:'))
        if number1 < -100 or number1 > 100:
            raise ValueError 
        break
    except ValueError:
        print("Invalid integer. The number must be between -100 and 100.")

while True:
    try:
        number2 = int(input('Enter your Higher Range: '))
        if number2  < -100 or number2 > 100:
            raise ValueError 
        break
    except ValueError:
        print("Invalid integer. The number must be between -100 and 100.")

while True:
    try:
        a = int(input('Enter your first number: '))
        if a < -100 or a > 100:
            raise ValueError 
        break
    except ValueError:
        print("Invalid integer. The number must be between -100 and 100.")

while True:
    try:
        b = int(input('Enter your second number: '))
        if b < -100 or b > 100:
            raise ValueError 
        break
    except ValueError:
        print("Invalid integer. The number must be between -100 and 100.")

print('{} + {} = '.format(a, b))
print(a + b)

print('{} - {} = '.format(a, b))
print(a - b)

print('{} * {} = '.format(a, b))
print(a * b)

print('{} / {} = '.format(a, b))
print(a / b)

restart = input("Would you like to restart this program?")
if restart == "yes" or restart == "y":
        main()
if restart == "n" or restart == "no":
        print ("Script terminating. Goodbye.")
print ("Thanks for using my calculator!")
为True时:
尝试:
number1=int(输入('输入下限:'))
如果编号1<-100或编号1>100:
升值误差
打破
除值错误外:
打印(“无效整数。数字必须介于-100和100之间。”)
尽管如此:
尝试:
number2=int(输入('输入较高的范围:'))
如果数字2<-100或数字2>100:
升值误差
打破
除值错误外:
打印(“无效整数。数字必须介于-100和100之间。”)
尽管如此:
尝试:
a=int(输入('输入您的第一个数字:'))
如果a<-100或a>100:
升值误差
打破
除值错误外:
打印(“无效整数。数字必须介于-100和100之间。”)
尽管如此:
尝试:
b=int(输入('输入第二个数字:'))
如果b<-100或b>100:
升值误差
打破
除值错误外:
打印(“无效整数。数字必须介于-100和100之间。”)
打印('{}+{}='.格式(a,b))
打印(a+b)
打印('{}-{}='.格式(a,b))
印刷品(a-b)
打印('{}*{}='.格式(a,b))
打印(a*b)
打印('{}/{}='.格式(a,b))
打印(a/b)
restart=input(“是否要重新启动此程序?”)
如果重新启动==“是”或重新启动==“y”:
main()
如果重新启动==“n”或重新启动==“否”:
打印(“脚本终止。再见”)
打印(“感谢使用我的计算器!”)

main()

def read_number(文本,下限=-100,上限=100):
尽管如此:
数字=整数(输入(文本))
如果数字<较低或数字>较高:
打印(“无效整数。数字必须介于{}和{}之间。”。格式(低,高)
通过
其他:
返回号码
上面的方法
read\u number()
获取输入并仅在条件下返回,因此您可以将其直接用于变量:

def main():
number1=读取编号('输入下限:')
number2=读取编号('输入更高的范围:')
a=读取编号('输入您的第一个编号:')
b=读取号码('输入第二个号码:')
#做点什么。。。
我不知道你是否想要。如果不想要,试着解释得更清楚些


但是,我希望我已经帮了你。

如果你需要将此转化为一种方法,你可以尝试以下方法:

def read_number(文本,下限=-100,上限=100):
尽管如此:
数字=整数(输入(文本))
如果数字<较低或数字>较高:
打印(“无效整数。数字必须介于{}和{}之间。”。格式(低,高)
通过
其他:
返回号码
上面的方法
read\u number()
获取输入并仅在条件下返回,因此您可以将其直接用于变量:

def main():
number1=读取编号('输入下限:')
number2=读取编号('输入更高的范围:')
a=读取编号('输入您的第一个编号:')
b=读取号码('输入第二个号码:')
#做点什么。。。
我不知道你是否想要。如果不想要,试着解释得更清楚些


不过,我希望这对您有所帮助。

我已经尽了最大努力设计了一个函数。我希望这对您有所帮助:

def my_calculator():
    while True:
        try:
            number1 = int(input('Enter your Lower Range:'))
            if number1 < -100 or number1 > 100:
                raise ValueError
            break
        except ValueError:
            print("Invalid integer. The number must be between -100 and 100.")

    while True:
        try:
            number2 = int(input('Enter your Higher Range: '))
            if number2 < -100 or number2 > 100:
                raise ValueError
            break
        except ValueError:
            print("Invalid integer. The number must be between -100 and 100.")

    while True:
        try:
            a = int(input('Enter your first number: '))
            if a < -100 or a > 100:
                raise ValueError
            break
        except ValueError:
            print("Invalid integer. The number must be between -100 and 100.")

    while True:
        try:
            b = int(input('Enter your second number: '))
            if b < -100 or b > 100:
                raise ValueError
            break
        except ValueError:
            print("Invalid integer. The number must be between -100 and 100.")

    print('{} + {} = '.format(a, b))
    addition = a + b
    print(addition)

    print('{} - {} = '.format(a, b))
    diff = a - b
    print(diff)

    print('{} * {} = '.format(a, b))
    prod = a * b
    print(prod)

    quo = None
    try:
        quo = a / b
    except ZeroDivisionError as ze:
        print("Division by zero not allowed; Please retry.")
        my_calculator()

    print('{} / {} = '.format(a, b))
    print(quo) if quo else print()

    results = [addition, diff, prod, quo]
    try:
        if not all(-100 < i < 100 for i in results):
            raise ValueError
    except ValueError as ve:
        print("Some of the results of calculation exceed 100 or are less than -100."
              "The results must be between -100 and 100. Please retry.")
        my_calculator()

    restart = input("Would you like to restart this program?")
    if restart == "yes" or restart == "y":
        my_calculator()
    if restart == "n" or restart == "no":
        print("Script terminating. Goodbye.")
    print("Thanks for using my calculator!")


if __name__ == "__main__":
    my_calculator()
def my_calculator():
尽管如此:
尝试:
number1=int(输入('输入下限:'))
如果编号1<-100或编号1>100:
升值误差
打破
除值错误外:
打印(“无效整数。数字必须介于-100和100之间。”)
尽管如此:
尝试:
number2=int(输入('输入较高的范围:'))
如果数字2<-100或数字2>100:
升值误差
打破
除值错误外:
打印(“无效整数。数字必须介于-100和100之间。”)
尽管如此:
尝试:
a=int(输入('输入您的第一个数字:'))
如果a<-100或a>100:
升值误差
打破
除值错误外:
打印(“无效整数。数字必须介于-100和100之间。”)
尽管如此:
尝试:
b=int(输入('输入第二个数字:'))
如果b<-100或b>100:
升值误差
打破
除值错误外:
打印(“无效整数。数字必须介于-100和100之间。”)
打印('{}+{}='.格式(a,b))
加法=a+b
打印(添加)
打印('{}-{}='.格式(a,b))
差异=a-b
打印(差异)
打印('{}*{}='.格式(a,b))
产品=a*b
打印(产品)
quo=无
尝试:
quo=a/b
除ZeroDivisionError外,其他错误为ze:
打印(“不允许被零除;请重试”)
我的计算器()
打印('{}/{}='.格式(a,b))
打印(quo)如果quo其他打印()
结果=[添加、差异、生产、现状]
尝试:
如果不是全部(-100