需要帮助比较和显示数字

时间:2016-12-01 03:20:36

标签: python

我正在尝试将我的输入与数字列表进行比较。

我在代码中放置了打印(“2”),看看我做的是否正确,但是我一直收到错误。

这是我到目前为止所做的:

list_a = [2,4,6,8,10,12]
number = input("Input a number:",)

def main(list_a,number):
    print("The Numbers in the list are:",list_a)
    for x in list_a:
        if number < x:
            print("2")

main(list_a, number)

2 个答案:

答案 0 :(得分:3)

以下内容应该有效:

list_a = [2,4,6,8,10,12]
number = int(input("Input a number:",))

def main(list_a,number):
    print("The Numbers in the list are:",list_a)
    for x in list_a:
        if number < x:
            print(x)

main(list_a, number)

函数input返回一个字符串,因此您必须使用int对其进行转换。

然后我们为列表中的每个x打印x,该值大于number变量。

答案 1 :(得分:0)

实现这一目标的另一种方法是使用列表理解:

list_a = [2, 4, 6, 8, 10, 12]
number = input("Input a number: ",)

def main(list_a, number):
    print("The numbers in the list are: ", list_a)
    greater_than_x = [x for x in list_a if x > int(number)]  # this is a list comprehension
    for y in greater_than_x:  # we print out all numbers that are greater than number
        print(y)

main(list_a, number)

输出示例:

>>> number = input("Input a number: ",)
Input a number: 6
>>> main(list_a, number)
('The numbers in the list are: ', [2, 4, 6, 8, 10, 12])
8
10
12