在我的代码中,无法将int转换为str错误无法找出原因

时间:2016-01-27 19:18:32

标签: python string while-loop int find

我的代码应该使用一个密码并将其更改为一个容易记住的密码"元音和辅音的排列

def alphapinEncode(pin):
    vowels = "aeiou "
    consonants = "bcdfghjklmnpqrstvwyz "
    alphaPin = " "
    while pin > 0:
        newPin = pin // 100
        pinRemain = pin % 100
        vowelToFind = pinRemain % 5
        pinVowel = vowels.find(vowelToFind)
        pinConsonant = consonants.find(pinRemain // 5)
        pin = newPin
        alphaPin = alphaPin + pinVowel + pinConsonant

    return alphaPin

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

我相信你的问题是这两行:

vowelToFind = pinRemain % 5
pinVowel = vowels.find(vowelToFind)

在这种情况下,vowelToFind是一个整数,vowels是一个字符串。 find str方法接受字符串参数,并返回其在字符串中的位置 - 您将传递整数。您甚至不想在vowels中找到子字符串,只是想要在索引vowelToFind处检索字符。我相信你应该做以下事情:

vowelToFind = pinRemain % 5
pinVowel = vowels[vowelToFind]

注意

我正在解决您询问的特定“int to str”错误。我不确定你用来生成“易记”字符序列的其余逻辑。