所以我尝试运行它,但它出错了,我需要帮助了解问题所在。我真的很感谢任何帮助,我正在学习麻省理工学院的开放课程编程简介:
words="GreatTimes"
words.lowercase
我收到此错误:
AttributeError: 'str' object has no attribute 'lowercase'
问题是我正在尝试运行“如何像计算机科学家一样思考”中的示例代码,但它仍然给我错误。
def isLower(ch):
return string.find(string.lowercase, ch) != -1
所以我无法弄清楚语法错误是什么。看着Python 文档页面 http://docs.python.org/library/string.html它是这样说的:
string.lowercase 包含以下内容的字符串
所有被考虑的字符
小写字母。在大多数系统上
这是字符串
'abcdefghijklmnopqrstuvwxyz'。这
具体值取决于语言环境,
并将在以下时间更新
locale.setlocale() 被调用。
想法?
编辑:
啊,抱歉,我应该说得更清楚。所以我试图编写一段代码来告诉我字符串中的字符是否为小写。我的代码是我对它的实现。虽然示例代码是我用来尝试检查我的语法是否错误以及问题根源的代码。但是,示例代码也会生成错误。简而言之,为什么这段代码不起作用?看起来它应该吐出一串所有小写字母,比如“GreatTimes”中的“reatimes”和/或者你将如何使用 string.lowercase 来制作这个程序?
我对你想要做的事情有点困惑。这似乎是一个相当做作的练习。
如果您只想使用实例方法,words.lower()
将返回字符串的小写版本words
.
如果您想使用自己的小写函数string.lowercase
(这只是一个设置为所有小写字母的字符串的常量),那么您需要确保执行import string
在调用它之前(例如在你的lower
函数示例)。
如果你做了一个import string
,你也可以使用string.lower('STRING with CAPS')
反而。
编辑:这是一些运行您的函数的代码,向您展示它的工作原理:
import string
def isLower(ch):
return string.find(string.lowercase, ch) != -1
words = "GreatTimes"
lowercase_letters = ""
for ch in words:
print ch, '->', isLower(ch)
if isLower(ch):
lowercase_letters += ch
print "Lowercase letters were:", lowercase_letters
Output:
G -> False
r -> True
e -> True
a -> True
t -> True
T -> False
i -> True
m -> True
e -> True
s -> True
Lowercase letters were: reatimes
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)