所以我正在尝试运行它,但它出错了,我需要帮助来了解问题所在。我非常感谢任何帮助,我正在学习麻省理工学院的开放式课件编程介绍:
words="GreatTimes"
words.lowercase
我得到这个错误:
AttributeError: 'str' object has no attribute 'lowercase'
问题是我正在尝试运行“如何像计算机科学家一样思考”中的示例代码,但它仍然给我错误。
def isLower(ch):
return string.find(string.lowercase, ch) != -1
所以我无法弄清楚语法错误是什么。看着 Python doc page它是这样说的:
string.lowercase A string containing all the characters that are considered lowercase letters. On most systems this is the string 'abcdefghijklmnopqrstuvwxyz'. The specific value is locale-dependent, and will be updated when locale.setlocale() is called.
想法?
编辑: 啊,对不起,我应该更清楚。所以我正在尝试编写一段代码来告诉我字符串中的字符是否为小写。我的代码是我对它的实现。虽然示例代码是我用来尝试检查我的语法是否错误的东西,但这是问题的根源。但是,示例代码也会生成错误。简而言之,为什么这段代码不起作用?似乎它应该从“GreatTimes”中吐出一串所有小写字母,如“reatimes”和/或你将如何使用 string.lowercase 来制作这个程序?
最佳答案
我对您要尝试做的事情感到有点困惑。这似乎是一个相当人为的练习。
如果您只想使用实例方法,
words.lower()
将返回字符串words
的小写版本。如果你想使用
string.lowercase
实现你自己的小写函数(它只是一个常量设置为所有小写字母的字符串),那么你需要确保您在调用它之前执行了一个import string
(例如,在您的lower
函数示例中)。如果您执行了
导入字符串
,您也可以改用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
输出:
G -> False
r -> True
e -> True
a -> True
t -> True
T -> False
i -> True
m -> True
e -> True
s -> True
Lowercase letters were: reatimes
关于python - 关于字符串操作的 Python 基础问题 : example: string. 小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067692/