我正在进行python练习,这是一个问题:
向用户询问一个数字并返回一个列表,其中只包含原始列表中的元素a小于用户给出的数字。
这是原始列表:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
我有以下代码:
b = list()
num = raw_input('Give me a number: ')
for i in a:
if i < num:
b.append(i)
print b
但无论我输入的是什么号码,它始终会将原始列表中的所有号码都返回到新列表中。
有任何建议或评论吗?
答案 0 :(得分:3)
您需要将输入转换为int
,否则您将int
与str
进行比较。将输入提示更改为:
num = int(raw_input('Give me a number: '))