而反向字符串循环

时间:2015-03-11 22:45:56

标签: loops while-loop

def reverse(x):
    word = ""
    b = len(x)
    while b >= 0:

        word = word + x[b:]
        b = b - 1
    print word

当输入“为什么”输出

时,试图制作反向功能
yhywhy

为什么?

3 个答案:

答案 0 :(得分:0)

改变这个:

b = len(x)

对此:

b = len(x)-1

而且:

x[b:]

对此:

x[b]

更加“pythonic”的方式:

def reverse(x):
    print ''.join([x[i] for i in range(len(x)-1,-1,-1)])

答案 1 :(得分:0)

提示: yhywhy = y + hy + why

x[b:]不会只使用一个字符,而是从索引b开始的所有剩余字符。

答案 2 :(得分:0)

您的切片正在从索引读取到字符串

的末尾

def reverse(x):
    word = ""
    b = len(x)-1
    while b >= 0:
        word += x[b]
        b -= 1
    print word