以下是类示例中的代码。 困扰我的是这一部分:
up = False
for i in x:
if up:
i=i.upper()
我真的不明白被迭代的单词中的字母如何被评估为False或True?
以下是整个问题:
def mirror(x):
return x+x[::-1]
def steps(x):
result=""
x=x.lower()
up=False
for i in x:
if up:
i=i.upper()
result+=i
up = not up
return result
print(steps("jabberwocky"))
print(steps(mirror("CAT")))
答案 0 :(得分:0)
功能正在做的步骤是:
1)将所有x个字符设置为小写
2)最初将变量“up”设置为False
3)对于x中的每个字母,
4)返回结果
答案 1 :(得分:0)
你有一个循环遍历字符串中的每个字符。 up
是boolean
变量,最初设置为False
。所以最初你有
if False:
i=i.upper()
在for循环结束时,您将up
设置为True
(up = not up
始终切换boolean
值 - False
变为True
}和True
变为False
)。所以你的for循环的第二次迭代
if True
i=i.upper()
此循环将接受一个字符串,其他每个字符都将为大写:
>>> print(steps("jabberwocky"))
jAbBeRwOcKy