【问题标题】:This code must print every other character using for loops此代码必须使用 for 循环打印每个其他字符
【发布时间】:2019-08-25 12:37:09
【问题描述】:

目标:从用户输入的字符串中以大写值打印每隔一个字符

我插入了一个切片,但代码不会按照我想要的方式执行。

python
s=input("Please enter a string: ")
for char in s:
    print (char[0::2].upper())

如果用户输入你好,它应该打印:

H
L
O

【问题讨论】:

  • 您将切片依次应用于每个字符...
  • print(s[0::2].upper())

标签: python string char


【解决方案1】:

您使用了两个迭代循环;这个问题只需要一个。

您的for 循环遍历字符串的每个字符。对于输入“hello”,它将循环五次。 char 将按顺序采用值 hello

在循环体中,您插入了一个额外的迭代:字符串切片[0::2]。首先,第二次迭代对您没有任何用处。接下来,错误,因为您将其应用于char,它是单个字符,而不是字符串。

您需要将替代字符切片应用于字符串,而不是应用于五个字符中的每一个。或者,您可以遍历这五个字符并仅打印偶数字符。

切片:

print(s[0::2].upper())

输出:

HLO

迭代:

for idx, char in enumerate(s):
    if idx%2 == 0:
        print(char.upper())

输出:

H
L
O

【讨论】:

    【解决方案2】:

    试试这个:

    s=input("Please enter a string: ")
    print(s[0::2].upper())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-04
      • 2021-03-06
      • 1970-01-01
      • 2017-03-31
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多