我正在尝试将列表中的某些整数转换为字符串,但不断出现一个错误,我认为这与将整数转换为字符串有关。我试过str(),但似乎解决不了问题。我想我可能做错了什么。我的代码如下:
intList = [1,2,3,4,5]
def fizzbuzz(intList):
for e in intList:
if (e % 3) ==0:
e='Fizz'.join(str(e) for e in intList)
if (e % 5) ==0:
e='Buzz'.join(str(e) for e in intList)
print fizzbuzz (intList)
我得到这个错误:
TypeError: not all arguments converted during string formatting
我也尝试过对其进行一些更改,但始终出现相同的字符串格式错误:
def fizzbuzz(intList):
for e in intList:
if (e % 3) ==0:
intList.append(str('Fizz'))
elif (e % 5) ==0:
intList.append(str('Buzz'))
else:
intList.append(e)
print fizzbuzz (intList)
我想不出另一种方法来修复字符串错误。我到处找了找,觉得%可能有问题
这里有一些错误:
if ('Fizz' % 3) ==0:
模运算符只能处理整数;不是字符串。
希望这将为您提供足够的洞察力来修复代码。如果没有,我们就在这里
问题在于这段代码:
如果
e
可以被3整除,那么e
就变成了一个字符串。接下来的if
语句将%
e
(字符串)乘以5。在Python中,带有字符串的%
执行的操作与带有数字的操作完全不同(它将值代入其中),错误消息与此相关解决方案是对包含
Fizz
或Buzz
的字符串使用不同的变量名你的代码还有其他问题;当你遇到他们时再问一次
相关问题 更多 >
编程相关推荐