Word未分配给变量

Zac*_*ago 0 python string input

我试图找到一个单词,我的程序将查看是否存在大写字母并检查它.

问题是,我甚至无法通过我的程序,因为我得到一个错误,说"name cAt"没有定义(cAt)是我输入的,不知道这个代码是否会在给定的单词中找到一个大写.

是否有一种方法可以使用正则表达式,例如,

if : re.search("A,B,C etc")

这是我的,

g = input("enter a ")

h = [ABCDEFGHIJKLMNOPQRXTUVWXYZ]


for letters in g:
    if letters in h :
        print "upper"
Run Code Online (Sandbox Code Playgroud)

iCo*_*dez 6

在Python 2.x.中,将input其输入计算为真正的Python代码.因此,当您输入时cAt,Python会尝试使用相同的名称查找变量.而且,既然它不能,它会爆炸.

您需要使用raw_input,它将输入作为字符串对象返回.

此外,您需要创建h一个这样的字符串:

h = "ABCDEFGHIJKLMNOPQRXTUVWXYZ"
Run Code Online (Sandbox Code Playgroud)

但是,您可能希望查看anystr.isupper执行此任务:

>>> mystr = raw_input("enter a word: ")
enter a word: cAt
>>> mystr
'cAt'
>>> any(x.isupper() for x in mystr)
True
>>> mystr = raw_input("enter a word: ")
enter a word: cat
>>> mystr
'cat'
>>> any(x.isupper() for x in mystr)
False
>>>
Run Code Online (Sandbox Code Playgroud)

  • 或者`from string import ascii_upper as h`:P (3认同)