![](/img/trans.png)
[英]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.