Python 显示太多要解压缩的值时出错,但只有两个参数
Q) Write函数接受两个单词的字符串,如果两个单词都以相同的字母开头,则返回True 这是我试过的-Python 显示太多要解压缩的值时出错,但只有两个参数,python,Python,Q) Write函数接受两个单词的字符串,如果两个单词都以相同的字母开头,则返回True 这是我试过的- def animal_crackers(text): for x,y in text.split(): if x[0].lower() == y[0].lower(): return True else: return False 下面是显示的错误- 要解压缩的值太多(应为2个) 对于text.spli
def animal_crackers(text):
for x,y in text.split():
if x[0].lower() == y[0].lower():
return True
else:
return False
下面是显示的错误-
要解压缩的值太多(应为2个)
对于text.split()中x,y的第2行-:
我不明白为什么会出现这个错误,因为它只有两个字需要解包。
对于x,y在
中意味着要在多个对上循环。如果只有一对,则需要x,y=
def animal_crackers(text):
x, y = text.split()
return x[0].lower() == y[0].lower()
顺便说一下,我简化了另一部分
解释 出现错误的原因是,您提供的第一个单词有两个以上的字母。例如:
def f(text):
for x, y in text.split():
return x[0].lower() == y[0].lower()
您正在解包这两个字符串,它们也在
for
循环中。这就是导致代码出错的原因
假设我们输入“Lion Leapord”
,那么在第一次迭代中,您的函数在x
和y
中取'L'和'i'并比较它们,这可能不是您想要做的
那就换一个吧
text.split()中x,y的:
与
因此,最终您的函数将如下所示:
def animal_crackers(text):
x,y = text.split()
print(x,y)
if x[0].lower() == y[0].lower():
return True
else:
return False
通过写作来测试它
animal_crackers("Lion Leapord")
给出True
animal_crackers("Lion Elephant")
给出
False
您需要给我们文本,因为我们需要输入来验证您的script@pippo1980这应该是显而易见的。例如:animal_-crackers('foo-bar')
应为false,animal_-crackers('bar-baz')
应为true。但是,提供完整性的所有相关细节是有帮助的。参考资料:。@pippo1980实际上,我收回了一部分。错误取决于输入单词的大小。我只是想知道@ahmadh的答案。无意冒犯,但现在我们对字符串长度限制很好奇???x,y在text.split()中:
是无效语法;我想你的意思是x,y=text.split()
。同样,你的解释是错误的;“Lion”会导致错误,因为它超过两个字符。看。哦,我在这里写的时候犯了一个错误,但是我写的代码中没有复制相同的错误,你可以试试,它会工作得很好。我正在编辑我的答案,以纠正错误的路线。
def animal_crackers(text):
x,y = text.split()
print(x,y)
if x[0].lower() == y[0].lower():
return True
else:
return False
animal_crackers("Lion Leapord")
animal_crackers("Lion Elephant")