我如何在python中定义一个函数,根据整数倍将一个单词附加到列表中的整数?

时间:2016-04-04 22:36:09

标签: python

我试图在python中定义一个可以获取任何整数列表的函数。如果整数是3和5的倍数,它将在变量a中列出一个。如果整数是3的倍数,它将在变量b中添加到列表中。如果整数是5的倍数,它将在变量c中添加到列表中。

如何在迭代函数中引用列表中的每个项目?

这是我到目前为止所拥有的。感谢

intList = [15, 30, 40]

def function(intList):
    a = 'Fizz'
    b = 'Buzz'
    c = a + b
for x in intList:
    if x in intList % 5 == 0 and x in intList % 3 == 0:
        intList.append(c)
    elif x in intList % 3 == 0:
        intList.append(a)
    elif x in intList % 5 == 0:
        intList.append(b)



print(function(intList))

回复

Traceback (most recent call last):
  File "python", line 18, in <module>
  File "python", line 6, in function
NameError: name 'x' is not defined

我希望获得的回复是[15,&#39; FizzBu​​zz&#39;,30,&#39; FizzBu​​zz&#39; 40,&#39; Buzz&#39;]

1 个答案:

答案 0 :(得分:0)

要靠近您的代码,您可以执行以下操作:

def fizz_buzz(intList):
    a = 'Fizz'
    b = 'Buzz'
    c = a + b

    res = []

    for x in intList:
        if (x % 5 == 0) and (x % 3 == 0):
            res = res + [x,c]
        elif x % 3 == 0:
            res = res + [x,a]
        elif x % 5 == 0:
            res = res + [x,b]

    return res

list = [1, 15, 30, 40] 

print(fizz_buzz(list))

>>> [15, 'FizzBuzz', 30, 'FizzBuzz', 40, 'Buzz']