理解For循环语句Python 3

时间:2017-05-03 13:22:54

标签: python-3.x for-loop

我不明白为什么我的代码无效。

代码是:

def trans(old):
    length = len(old)
    new = []
    new = old
    for i in range(0,length):
        print(old[length-i-1])
    for i in range(0,length):
        new[i] = old[length-i-1]
        print("new:",new[i],"  [i]:",i,"  old:",old[length-i-1]," length-
        i-1:",length-i-1)
    ihavenoideawhatimdoing = " ".join(new)
    return new

指令:
 1. def trans(旧):(old)中的输入句子  2. length(len):取句子中的元素数量  3. new = []new = old是为新单词制作一个大小相同的容器  4.首先for循环=我希望看到原始句子中的单词向后翻  5.我的问题出现在第二个for循环中。见输出
 6.接下来的问题与我解决的问题有关,但与我遇到的问题无关

Output

输入句子:"请帮我解决这个问题"

我没有下一批单词的任何标签,但它应该是:
它应该是:
旧(长度0-1) - >老(5-0-1) - >老(4):这个 旧的(3):解决
老(2):我 老(1):帮助
老(0):请

现在,下一个for语句中的长度为-i-1 = 1,而不是" help",它是' s&#34 ;解决"

这两个代码都很熟悉,所以我仍然坚持其他可能出错的地方。

1 个答案:

答案 0 :(得分:0)

使用此:

def trans(old):

    new = old.split(" ")
    new_str = ""
    for i in reversed(new):
        new_str = new_str + " " + i
    print new_str