首页 > 解决方案 > 我在 Pycharm 中遇到了一个错误:“必须是 str,而不是 int”。变量的值也是文本,因此我不理解语法

问题描述

我是提拉克。几天前,我开始使用python。所以我在 Pycharm 中遇到了一个错误:“必须是 str,而不是 int”。变量的值也是文本,因此我不理解语法。所以我只是想知道,代码的哪一部分不是字符串,如何使其成为字符串以及为什么会导致此错误。如果你能帮忙的话,这将是一个很大的恩惠/恩惠。
这是显示错误和代码的图像。

标签: pythonpycharm

解决方案


欢迎来到 Stackoverflow。问题是您错误地使用了索引方法。index 方法接受字符串值或字符串变量。然后它将告诉您该字符串的哪个部分具有该字符。

本文很好地解释了索引方法以及如何使用它。因为 python 会将单词视为列表,所以您可以改为

phrase = 'word'
phrase[0]

您还需要确保处理用户输入不是字符串的值的任何问题。这就是为什么我用 str 包裹它:

str(phrase[0])

您要做的是将任何以元音开头的字符串转换为附加有 ay 的字符串。下面的代码将做到这一点。

print('Welcome to the Pig Latin Translator!')
phrase = input('enter a word or sentence and it will be converted into pig latin:')
ending = 'ay'
vowel = 'AEIOUaeiou'
if str(phrase[0]) == vowel:
    phrase = phrase + 'ay'
    print(phrase)
else:
    print('The word is not applicable')

如果您需要帮助才能将其提供给完整的猪拉丁语翻译器(它将以辅音/元音对开头的单词替换为后面的元音/辅音,然后附加 ay,您将需要做更多的工作。

另外,请确保您花一些时间阅读这篇关于如何就堆栈溢出提出好问题的精彩文章。它将确保任何回答您问题的人都可以有效地回答问题,并且任何发现您的问题的人都可以从中受益。

祝你好运!


推荐阅读