我正在尝试获取原始输入并检测它是否在范围内。
这是我的密码。
def gold_room():
print "This room is full of gold. How much do you take?"
next = raw_input("> ")
if next == int in range(50):
how_much = int(next)
else:
dead("Man, learn how to type a number.")
if how_much < 50:
print "Nice, you're not greedy, you win!"
exit(0)
else:
dead("You greedy bastard!")
当我输入一个数字时,它会给我另一个:“伙计,学习如何键入一个数字。”
我猜行不通的是“如果next==in t在范围(50):
有人能帮我吗?
提前谢谢!
编辑:
我是个笨蛋,所以那条线简直就是我的停车场。
我想它会检查下一步,看看它是否是一个0-50范围内的整数。
因为raw_input返回一个字符串,所以需要首先转换为int。尝试用以下内容替换行:
raw_input()
的结果将是一个字符串,因此首先需要检查next
是否都是数字。有几种方法可以做到这一点,最简单的方法是使用^{注意,不需要检查
next
的值是否在0到50的范围内,因为下一个if语句已经检查该值是否小于50,并且next.isdigit()
将排除负数。如果你想“在一个范围内得到一个整数输入”,你需要两件事:
int
检查输入是否为
int
try/except
在这里将是完美的:为什么这么好?
因为如果
n
是int
,您将让它将其转换为整数,如果它不是异常,您可以调用您的dead()
函数。检查它是否在您的范围内
如果达到这一点,则意味着未引发异常之前,
n
已转换为整数。所以你只需要:
不要这样做:
因为它将免费建立一个50个数字的列表。
注意:不要使用}
next
作为变量,因为它会隐藏内置的^{相关问题 更多 >
编程相关推荐