[英]Python: converting a nested list into a dictionary using as key an integer and a string
[英]Trouble converting integer to string in a list using Python
我正在尝试将列表中的某些整数转换为字符串,但是我不断收到一个错误,我认为这与将整数转换为字符串有关。 我已经尝试过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:
希望这将为您提供足够的见识来修复您的代码。 如果没有,那么我们在这里!
问题是由于这段代码:
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)
如果e
被3整除,则e
更改为字符串。 然后,下一个if
语句尝试将%
e
(字符串)减5。在Python中,带有字符串的%
所做的事情与使用数字做的事情(将值替换为数字)完全不同,并且错误消息与此相关。
解决方案是对包含Fizz
或Buzz
的字符串使用不同的变量名。
您的代码还有其他问题; 当您遇到它们时再次询问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.