目标:以大写值打印用户输入的字符串中的其他所有字符
我插入了一个切片,但是代码无法执行我想要的方式。
python
s=input("Please enter a string: ")
for char in s:
print (char[0::2].upper())
如果用户输入问候,则应打印:
H
L
O
答案 0 :(得分:0)
尝试一下:
s=input("Please enter a string: ")
print(s[0::2].upper())
答案 1 :(得分:0)
您已经使用了两个迭代循环;问题只需要一个。
您的for
遍历字符串的每个字符。对于输入“ hello”,它将循环五次。 char
将依次采用值h
,e
,l
,l
,o
。
在循环主体中,您插入了一个额外的迭代:字符串切片[0::2]
。首先,第二次迭代对您没有任何帮助。接下来,这是错误,因为您将其应用于了char
,它是单个字符,而不是字符串。
您需要将替代字符切片应用于 string ,而不是应用于五个字符中的每个字符。或者,您可以遍历五个字符并仅打印偶数个字符。
切片:
print(s[0::2].upper())
输出:
HLO
迭代:
for idx, char in enumerate(s):
if idx%2 == 0:
print(char.upper())
输出:
H
L
O