我正在尝试为python中的输入定义限制:
hp_cur=int(input("Enter the current number of HP (1-75): "))
hp_max= int(input("Enter the maximum number of HP (1-75): "))
hp_dif=(hp_max-hp_cur)
我想将hp-cur输入限制为1-75,并同时限制hp-max输入,并确保输入大于hp-cur输入。
答案 0 :(得分:0)
您可以检查输入,如果不在限制范围内,则可以要求用户再次输入。
您可以通过while
循环来实现这一点。
while True:
try:
hp_cur=int(input("Enter the current number of HP (1-75): "))
except ValueError: # used to check whether the input is an int
print("please insert a int type number!")
else: # is accessed if the input is a int
if hp_cur < 1 or hp_cur > 75:
print("please insert a number in the given limit")
else: # if number is in limit, break the loop
break
您可以对第二个所需的输入执行相同的操作,然后进行比较。如果它是负数,则可以通过将两个“有效性检查”都放在一个较大的while
循环中来要求用户再次输入数字,当返回的数字为正数时,您可以break
进行循环。< / p>
答案 1 :(得分:0)
while True:
answer = input('Enter the current number of HP (1-75): ')
try:
# try to convert the answer to an integer
hp_cur = int(answer)
except ValueError:
# if the input was not a number, print an error message and loop again
print ('Please enter a number.')
continue
# if the number is in the correct range, stop looping
if 1 <= hp_cur <= 75:
break
# otherwise print an error message, and we will loop around again
print ('Please enter a number in the range 1 to 75.')