为什么在Python中没有达到asc + =

时间:2015-03-23 22:46:16

标签: python-3.x

asc + = 1未达到原因:

letter =chr(asc)
b = 0
c = 0
for i in range(26):
    bucket.append(None)
    asc = ord(letter)
    for word in aList:
        if word[c] == letter:
            if bucket[b] is None:
                del bucket[b]
                bucket.insert(b, [])
            bucket[b].append(word)
    asc += 1

这不是完整的程序

这可能很简单,但我已经把它的大脑震撼了好几个小时。我正在尝试创建一个列表列表,每个内部列表都有以某个字母开头的单词但变量字母不会从'a'更改

2 个答案:

答案 0 :(得分:0)

你没有在循环中重新分配任何字母,asc + = 1正在达到,但你没有做任何事情。

您可以找到字母的Unicode整数值:

asc = ord(letter)

然后你增加观察结果:

asc += 1

但这并没有改变任何关于信件的内容。你只是在操纵一个数字。你可能想在循环结束时包含它:

letter = chr(asc)

答案 1 :(得分:0)

检查asc += 1是否正在接触的最佳方法是添加一些:

print asc

末尾的

asc += 1

某些“调试”仅用于检查是否已达到该点。

但正如glu10所说,你正在分配,但你没有使用它,那么,你没有对asc做任何事情。

;)享受