Python 检查列表的最后一个元素是否为数字

Python 检查列表的最后一个元素是否为数字,python,Python,我有一个函数生成带有空格的随机字符[a-Z0-9],并将每个字符追加到列表中: 正如你们所看到的,若上一个字符是数字,我会尝试只附加数字或空格,否则我们会附加任何字符。问题是,当我运行代码时,我得到以下错误: 如果单词[-1],则“NoneType”对象的行没有属性“isdigit”。isdigit:。我做错了什么?为什么没有str代替?一种简单的测试字符是否是数字的方法: 如果“0123456789”中的单词[-1]: ... 只需将单词设置为字符串: 它偏向于字符,因为空格不是数字,因此它可

我有一个函数生成带有空格的随机字符[a-Z0-9],并将每个字符追加到列表中:

正如你们所看到的,若上一个字符是数字,我会尝试只附加数字或空格,否则我们会附加任何字符。问题是,当我运行代码时,我得到以下错误:


如果单词[-1],则“NoneType”对象的行没有属性“isdigit”。isdigit:。我做错了什么?为什么没有str代替?

一种简单的测试字符是否是数字的方法:

如果“0123456789”中的单词[-1]: ... 只需将单词设置为字符串:

它偏向于字符,因为空格不是数字,因此它可以从数字变成字符,但不是相反的方式-这就是你想要的,如果我没弄错的话

随机输入 样本数字=0123456789 样本字符=abcdefghi 样本\任意=样本\数字+样本\字符 单词=
while words.count“”单词的最后一个位置必须不包含任何单词。若要调试,请在while循环后添加一行以立即打印单词。如果这对调试没有帮助,请使用整个输出编辑问题。正如其他人所提到的,单词[-1]的计算结果为非。您可以包含用于向单词添加字符的代码吗?似乎您没有将任何对象附加到单词列表,因此出现了问题。返回'in'需要字符串作为左操作数,而不是您可以使用的noneType。但是,string.digits中的“0123”将返回True,string.digits中的“3210”将返回False。如果单词[-1]不是空的,则这些都无助于单词[-1]。isdigit将起作用。
words = []

while words.count(' ') < 10:
    if len(words) == 0:
        # append character
    else:
        if words[-1].isdigit(): # checking if last character is digit
            # append only digit or whitespacce
        else:
            # append character