Python 通过单词循环,字母评估为False?

Python 通过单词循环,字母评估为False?,python,string,loops,boolean,Python,String,Loops,Boolean,下面是一个类示例中的代码。 困扰我的是这一部分: 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.upp

下面是一个类示例中的代码。 困扰我的是这一部分:

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")))

steps函数所做的是:

1将所有x字符设置为小写

2将变量初始设置为False

x中的每个字母对应3

如果变量up为true,则将该字母大写 把那个字母附加到结果后面 如果为true=>false//如果为false=>true,则设置为相反的值
4返回结果

在字符串中的每个字符上都有一个循环。up是一个布尔变量,最初设置为False。所以一开始你有

 if False:
   i=i.upper()
在for循环结束时,将up设置为True up=not up始终切换布尔值-False变为True,True变为False。因此,for循环的第二次迭代

if True
  i=i.upper()
此循环将接收一个字符串,并且每隔一个字符都将大写:

>>> print(steps("jabberwocky"))
jAbBeRwOcKy

if语句中计算的变量为up,而不是i中存储的任何一个字母。这是什么语言?它看起来像python,但你真的应该告诉我们。理想情况下,通过标记。或者我们应该将其视为伪代码?@JanDvorak抱歉,这是Python。该网站的新手,我不知道-谢谢:@JanDvorak Python非常可读,看起来像伪代码。