为什么这段代码的输出在数组中是一样的?

why the output of this code is the same in the array?

我在 YouTube 上看到了这段代码。该代码应将所有小写字符串 (ab、cd) 转换为大写字符串,但当我尝试此代码时,输​​出与数组相同,没有变化。我想知道幕后发生了什么。

  x = ['ab', 'cd'] 

    for i in x: 
    i.upper()
    print(i)

upper() return 调用它的字符串的大写字母,但 修改该字符串。所以你正在调用 upper(),但随后忽略了它的 return 值。

您可以捕获变量中的 return 值,然后打印它:

for i in x:
    u = i.upper()
    print(u)

或者直接打印出来:

for i in x:
    print(i.upper())

您可以输入 print(i.upper()) 而不仅仅是 print

那没有用,因为 i.upper() returns 字符串在将所有字母转换为大写后返回,因此您可以使用赋值语句保留它或打印出来就像上面提到的那样。

这里。我希望这有效!

x = ['ab', 'cd'] # Your array
uppercase_string = str(x).upper() # makes uppercase
print(uppercase_string) # prints uppercase

你不需要做一个for循环 打印一个数组。再加上张贴图片会使回答变得更难。