|
|
发表于 2023-11-7 15:28:09
|
显示全部楼层
问题出在变量命名上。在函数 getpy() 中,你尝试使用变量 sentence ,但是这个变量并没有在 getpy() 函数的作用域内定义,所以会报错。为了解决这个问题,你需要将 sentence 作为参数传递给 getpy() 函数,并在函数内部使用该参数。
修改后的代码如下:
- from xpinyin import Pinyin
- def getstr():
- sentence = input("请输入一句话")
- while len(sentence) < 2:
- sentence = input("字数太少,请重新输入")
- return sentence
- def getpy(sentence):
- p = Pinyin()
- sentence = p.get_pinyin(sentence)
- sentence = sentence.split("-")
- return sentence
- def yesno():
- if sentencetrans == sentencetrans[::-1]:
- print(f"{sentence}是回文")
- else:
- print(f"{sentence}不是回文")
- sentence = getstr()
- sentencetrans = getpy(sentence)
- getstr()
- getpy(sentence)
- yesno()
复制代码
这样修改后,你就可以在 getpy() 函数中正确访问到 sentence 变量了。 |
|