我正在尝试实现一个函数printGreater()
,它将一个数字列表和一个数值作为参数。它打印列表中大于值的数字,全部在一行上,它们之间有空格。如果提供空列表作为第一个参数,则该函数不会打印任何内容。
这是我到目前为止所做的:
def printGreater(nums, value):
lstN = (int[nums],value)
if nums > value:
print(nums, end=", ")
答案 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) + ' '
最后,最后,我返回字符串。
希望有所帮助!