我正在尝试编写python代码,可以检查sentance中的重复单词
对于这段代码,我试图找出单词是否重复,它会说单词是“不唯一的”,如果单词不重复,它会说单词是“唯一的”。我运行程序,但输入句子后显示错误我正在尝试编写python代码,可以检查sentance中的重复单词,python,Python,对于这段代码,我试图找出单词是否重复,它会说单词是“不唯一的”,如果单词不重复,它会说单词是“唯一的”。我运行程序,但输入句子后显示错误 def isUnique(): words = sentence.split() unique = {} for i in words: if word not in unique: count[i] = true else: unique[i] = false def main(): u
def isUnique():
words = sentence.split()
unique = {}
for i in words:
if word not in unique:
count[i] = true
else:
unique[i] = false
def main():
user_input = input("Enter word sperated by space: ")
uniques = isUnique(user_input)
print(uniques)
main()
有很多东西会导致代码中出现错误。我建议在创建函数之前,至少要学习如何定义和调用函数的基本知识。您还需要了解变量以及如何正确引用它们,以及如何定义布尔值 这里的问题是您在编写代码之前应该阅读的内容 第1期:缩进 您的代码没有正确缩进。在启动for循环后需要缩进(for循环中的所有内容都必须保持缩进)。在每个if/elif/else语句后需要缩进,与该语句相关的所有内容都必须保持缩进。代码的正确缩进如下所示:
def isUnique():
words = sentence.split()
unique = {}
for i in words:
if word not in unique:
count[i] = true
else:
unique[i] = false
def main():
user_input = input("Enter word sperated by space: ")
uniques = isUnique(user_input)
print(uniques)
main()
问题2:isUnique()中没有参数
定义函数时,如果需要参数,则需要在创建函数时指定参数。如下所示:
def isUnique(sentence):
words = sentence.split()
unique = {}
for i in words:
if word not in unique:
count[i] = true
else:
unique[i] = false
在这里,调用函数时,语句
将与用户输入
相同。这样,当计算机看到函数中的语句
时,它知道语句
是函数中的参数(即用户输入).按照你写的方式,如果不在函数参数中,计算机怎么知道句子是什么呢?回答:不知道
第3期:循环迭代器
使用for
循环,你调用你迭代的每个对象i
。但是在for
循环中,你把这个对象称为word
。同样,如果你没有定义它,计算机怎么知道word
是什么。这是正确的方法:
for word in words:
if word not in unique:
count[i] = true
else:
unique[i] = false
第4期:什么是计数
?
同样,在for
循环中,您引用了一个名为count
的字典,但是您没有定义任何名为count
的内容。您的意思可能是:
for word in words:
if word not in unique:
unique[i] = true
else:
unique[i] = false
第5期:布尔人以大写字母开头
Python的布尔值应该是True
和False
,而不是True
和False
现在错误应该消失了,但剩下的就交给你了。我不确定代码是否能正确地解决你的问题
<>但是你需要学习基本知识。在你开始学习字典之类的数据结构之前,你应该熟练使用变量,for循环和if语句,这个问题说明你不是。请学习这些东西。函数中的任何内容都不缩进,就像问题中的一样?(问题中的所有内容都需要缩进,缩进方式与您使用的编辑器中的缩进方式相同。)您的函数不定义以下变量:句子、单词、计数、i
,并且它不返回任何内容。此外,python布尔值是True
和False
,而不是True
和False
。然而,即使您修复了所有这些问题,并且没有出现错误,代码仍然无法运行你想要的,需要更多的工作。