我不知道为什么这不是我认为应该的打印方式

时间:2019-04-10 21:24:37

标签: python-3.x for-loop range

这是一项家庭作业,我们被要求编写一个for循环,该循环从用户输入的字符串的开头开始,然后打印每个第二个字母

我尝试添加新行,但是并没有解决问题。我试图通过使用不使用范围功能来做到这一点 for char in s:产生的结果与使用范围函数的结果相同

s = input('Please enter a string: ')

for i in range(len(s)):


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

如果该单词正在测试中,则应这样打印

T

S


I

G

每个字母都大写。它不会是等间距的,我只需要格式化就可以在这里看到它。我的代码会每隔2个字母出现一次,但是它将全部打印在一行上,而不是单独打印出来,然后打印7次TSIG。

2 个答案:

答案 0 :(得分:0)

尝试一下:

s = 'testing'

for i in s[::2]:
    print(i)

您的问题是您正在每个循环打印s[0::2].upper(),并且不受i的影响:

答案 1 :(得分:0)

这可能是您想要的。

输入:

s = raw_input('Please enter a string: ')
s=s[0::2].upper()
for i in range(len(s)):
    print(s[i])

输出:

Please enter a string: TESTING
T
S
I
G