Python 在高和低之间寻找一个数字
我试图制作一个程序,让用户知道一个数字是否在一个下限和一个上限之间,也让他们知道它是否不是一个int。我一直在试图让它正常运行,但出于某种原因,第一次输入任何值时,它返回的不是整数;第二次输入值时,它给出的是正确的值,如果是较高或较低的值,我检查了缩进,看看这是否会导致它。我还是不知道为什么。关于如何改进此代码或使其正常运行有何想法?谢谢大家! 以下是主要程序:Python 在高和低之间寻找一个数字,python,python-3.x,Python,Python 3.x,我试图制作一个程序,让用户知道一个数字是否在一个下限和一个上限之间,也让他们知道它是否不是一个int。我一直在试图让它正常运行,但出于某种原因,第一次输入任何值时,它返回的不是整数;第二次输入值时,它给出的是正确的值,如果是较高或较低的值,我检查了缩进,看看这是否会导致它。我还是不知道为什么。关于如何改进此代码或使其正常运行有何想法?谢谢大家! 以下是主要程序: import damn HIGH = 10 LOW = 5 prompt = "Please enter a value Betw
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)
def get_pos_整数(提示、低、高):
s=输入(提示)
尽管如此:
如果s.isdigit():
x=int(s)
如果x<低:
打印(“数字太低”)
elif x>高:
打印(“数字太高”)
其他:
打印(“数字是整数”)
返回x
其他:
打印(“不是数字”)
x=获取位置整数(提示,5,10)
打印(“您输入的”,x)
input()返回int或float。
将input()替换为raw_input(),它将向您返回一个字符串。input()返回int或float。
将input()替换为raw_input(),它将向您返回一个字符串。
s = input(prompt)
while True:
# check that number
这意味着你要一个号码并反复核对。如果数字无效,此循环将永远继续
你可能想要
while True:
s = input(prompt) # ask for new numbers until you get a valid one
if s.isdigit():
...
你写的
s = input(prompt)
while True:
# check that number
这意味着你要一个号码并反复核对。如果数字无效,此循环将永远继续
你可能想要
while True:
s = input(prompt) # ask for new numbers until you get a valid one
if s.isdigit():
...
在函数中,语法是
def get_pos_integer(prompt, LOW, HIGH):
当你把它叫做
number = get_pos_integer(prompt, HIGH, LOW)
您已经切换了
高
和低
。您可能应该检查函数中的输入high>low
语法是否正确
def get_pos_integer(prompt, LOW, HIGH):
当你把它叫做
number = get_pos_integer(prompt, HIGH, LOW)
您已经切换了
高
和低
。您可能应该检查您的输入是否高>低
什么输入导致错误,以及该输入上的错误是什么?“…让他们知道它是否为int”。那么,显然不是我把它修好了,是我把函数参数弄混了。我还将s=input(…切换到while循环中。谢谢。这很好。如果我的答案是对任何帮助的,请将其标记为接受:)什么输入导致错误,该输入上的错误是什么?“…让他们知道它是否为int”。那么,显然不是我把它修好了,是我把函数参数弄混了。我还将s=input(…切换到while循环中。谢谢。这很好。如果我的答案是有帮助的,请将其标记为accepted:)