为什么我收到“isupper 未定义”错误?

麦克月球

学习 python 并使用一些基本的字符串方法。

我有这个程序可以找到字符串中第一个小写字符的索引:

def find_lower(word):
i = 0
while not isupper(word[i]):
    i = i+1
return i

但是,当我运行此代码时,出现错误

builtins.NameError: name 'isupper' is not defined

我需要导入模块或其他东西isupper()才能工作吗?

保罗·鲁尼

您使用isupper不当。它不是内置的独立功能。它是 的一种方法str文档在这里

对于您不确定的任何函数,您可以查阅 python 文档。它被谷歌很好地索引,所以当你想了解如何使用一个函数时,谷歌搜索是一个很好的起点。

一旦解决了这个问题,您就会find_lower遇到更多问题。由于逻辑错误,它实际上找到了第一个大写字母的索引。

while not word[i].isupper():

如果字符不是大写,则继续循环,如果是则停止。所以你需要删除not.

def find_lower(word):
    i = 0
    while word[i].isupper():
        i = i+1
    return i

print(find_lower('ABcDE')) # prints 2

下一个错误是,如果没有小写字符,它会离开字符串的末尾并抛出异常

>print(find_lower('ABCDE'))
Traceback (most recent call last):
  File "./myisupper.py", line 11, in <module>
    print(find_lower('ABCDE'))
  File "./myisupper.py", line 5, in find_lower
    while word[i].isupper():
IndexError: string index out of range

要解决这个问题,您需要将迭代次数限制为字符串的长度,这留作练习来解决。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

收到错误“名称'execfile'未定义”

为什么我得到NULL是未定义错误?

为什么我收到未定义的“儿童”电话?

我为什么会收到此错误:Uncaught TypeError:无法读取未定义的属性“ john”

为什么会收到“构造函数未定义”错误?

为什么我不断收到“未定义的引用”错误?

为什么我收到此错误“未定义不是函数”

为什么我仍然收到“未定义jQuery”错误

收到“未定义不是函数”错误

我收到的错误角度未定义

为什么我不断收到未定义的方法错误?

为什么我会收到该错误调用未定义方法Facebook \ Facebook :: api()?

为什么我得到未定义错误的属性?

为什么我的代码两次收到此错误“对‘Pizza::Pizza()’的未定义引用”

为什么我在 Codeigniter 上收到错误“调用未定义的函数 delete_cookie ()”?

为什么我的 javascript 抛出函数未定义错误?

为什么我收到错误:窗口未定义?

为什么我会收到此错误“NameError:name 'self' 未定义。”

为什么我在 Firebase 中收到此错误“函数返回未定义、预期的承诺或值”

为什么我不断收到错误消息:“对‘robots::robots()’的未定义引用

为什么我收到错误“NameError: name 'kh' 未定义”

为什么我会收到对“getche”的未定义引用错误?

为什么我收到错误“未定义的变量数据”?

为什么我在反应中收到“setShowModal 未定义”错误消息?

为什么我会收到此“主页未定义无未定义”错误

为什么我收到错误:类型错误:无法读取未定义的“拆分”的属性

为什么我在 EJS 中收到“未定义”错误?

为什么我收到错误 - TypeError:无法读取未定义的属性“名称”

为什么我会收到“类型错误:无法读取未定义的属性‘发送’”?