数値が下限と上限の間の境界内にあるかどうかをユーザーに知らせるプログラムを作成しようとしています。また、int ではないかどうかも知らせます。私はそれを適切に実行しようとしてきましたが、何らかの理由で、最初に値を入力すると整数ではなく、2回目に値を入力すると、値が高いか低いかの適切な値が返されます。それが原因であるかどうかを確認するためにインデントします。理由はまだわかりません。このコードを改善する方法、または正しく機能させる方法についてのアイデアはありますか? ありがとうございました!
主なプログラムは次のとおりです。
import damn
HIGH = 10
LOW = 5
prompt = "Please enter a value Between 5 and 10"
numbers = damn.get_pos_integer(prompt, HIGH, LOW)
print (numbers)
以下は私の機能です:
def get_pos_integer(prompt, low, high):
s = input(prompt)
while True:
if s.isdigit():
x = int(s)
if x < low:
print("Number is too low")
elif x > high:
print("Number is too high")
else:
print("Number is an integer")
return x
else:
print("Not a number")
x = get_pos_integer(prompt, 5, 10)
print("You entered", x)