功能printGreater()

时间:2016-01-19 00:35:07

标签: python-3.4

我正在尝试实现一个函数printGreater(),它将一个数字列表和一个数值作为参数。它打印列表中大于值的数字,全部在一行上,它们之间有空格。如果提供空列表作为第一个参数,则该函数不会打印任何内容。

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

def printGreater(nums, value):

lstN = (int[nums],value)
if nums > value:
    print(nums, end=", ")

2 个答案:

答案 0 :(得分:1)

def printGreater(nums, value):
    #First create an empty list to hold onto all the numbers larger than value
    greater = [];

    #Loop overall the input values, saving all large ones
    for num in nums:            
        if num > value:
            #Convert to a string for printing
            greater.append(str(num))

    #Print them out with spaces in between
    print( ' '.join(greater) )

#Then test with this
printGreater([1, 2, 3, 4, 5, 6, 7], 3)

答案 1 :(得分:0)

在这里,您将要使用for循环。我会放置代码,然后解释发生了什么。

def print_greater(nums_list, value):
    string = ''
    for num in nums_list:
        if num > value:
            string += str(num) + ' '
    return string

首先,我正在初始化一个新的字符串变量:

string = ''

接下来,我开始一个迭代循环:

for num in nums_list:
    ...

迭代(for)循环将要做的是从列表中的第一项开始给予它,并使该项“#”;#39;。然后我可以用那个项目做我想做的事。一旦我完成,它将转到第二个项目,依此类推。

        if num > value:
            string += str(num) + ' '

在这种情况下,我想将num与value进行比较。如果num很好,我想添加到我之前初始化的字符串。这就是+ =意味着...

string += str(num) + ' '

相同
string = string + str(num) + ' '

最后,最后,我返回字符串。

希望有所帮助!