我无法弄清楚为什么我的代码无效,
key_one= raw_input("Enter key (0 <= key <= 127): ")
if key_one in range(128):
bin_key_one=bin(key_one)[2:]
print bin_key_one
else:
print "You have to enter key (0 <= key <= 127)"
当我输入0到127之间的数字时,它继续前往其他地方! 有人可以告诉我为什么吗?
答案 0 :(得分:3)
raw_input
会返回一个字符串,而"93"
中不会range(128)
。
要确保将苹果与苹果进行比较,请将key_one
投射至int
:
key = int(raw_input("Enter key (0 <= key <= 127): "))
if key in range(128)
# if condition
else
# else condition
编辑:Python文档非常棒,所以如果您有疑问,最好先通过阅读文档进行培训。
如果存在prompt参数,则将其写入标准输出而不带尾随换行符。然后,该函数从输入中读取一行,将其转换为字符串(剥离尾部换行符),然后返回该行。读取EOF时,会引发EOFError。 - http://docs.python.org/library/functions.html#raw_input
答案 1 :(得分:1)
raw_input
将返回一个字符串,因此您的if
比较失败(您将int与字符串进行比较)。尝试投射:
key_one = int(raw_input('enter key: '))