我正在学习Python3,我正在做一个允许(在字符串上)交替使用大写和小写字母的练习。不幸的是,我犯了一个错误,我不明白这意味着什么
有人能给我解释一下,当你收到这种类型的信息“ValueError:没有足够的值来解包”时,错误从何而来?提前谢谢你
这是我的密码:
#!/bin/python3.6
#Une lettre sur deux en majuscule, les autres en minuscules !
#Yeah ! Tu PeUx Le FaIrE !!! \o/
a = input("Ecris ce que tu veux : ")
for i, b in a:
if i == i.upper and b == b.lower:
print(a)
下面是错误消息:
for i, b in a:
ValueError: not enough values to unpack (expected 2, got 1)
谢谢你,祝你今天愉快
a
是一个字符串。您可以在for
循环中使用它来获取每个字符:如果还需要索引,请使用以下代码:
但是,如果您希望将每个字符与所有字符进行比较或类似的操作,最好使用两个
for
:@miszcz2137的意思是,每次通过for循环,都会得到一个字符:
第一次迭代得到:“E” 第二次迭代得到:“c” 第三次迭代得到:“r” ... 代码“尝试”将这些字符拆分为2个字符,但由于只有一个字符,因此会引发错误
a
是一些文本,如"some text"
。如果然后写入for i, b in a
,它将对iterable字符串a
中的所有字符执行循环,也就是说,它将为"some text"
的每个字母调用for循环中的代码。然后,您试图将这样一个字母分配给两个变量的元组,(i, b)
,这是不可能的。这就是错误消息试图告诉您的内容相关问题 更多 >
编程相关推荐