- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试编写一个函数,它使用 for 循环和 isupper 方法来仅打印字符串的大写字母。
到目前为止我做了什么:
upper_chars = ""
def only_upper(s):
for char in s:
if s.isupper() == True:
upper_chars += char
print upper_chars
但这不起作用?谁能告诉我为什么?我收到此错误消息:“UnboundLocalError:赋值前引用了局部变量‘upper_chars’”
最佳答案
代码中的几个问题:
upper_chars
变量isupper()
,而不是整个字符串if
block 中的缩进错误这是修复后的代码:
def only_upper(s):
upper_chars = ""
for char in s:
if char.isupper():
upper_chars += char
return upper_chars
print only_upper("HeLLo WorLD")
此外,您还可以使用 filter()
:
def only_upper(s):
return filter(lambda x: x.isupper(), s)
print only_upper("HeLLo WorLD")
或者:
def only_upper(s):
return "".join(c for c in s if c.isupper())
print only_upper("HeLLo WorLD")
同时打印:
HLLWLD
关于python - 如何使用 isupper( ) 方法在 Python 中只打印大写字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22585379/
我正在阅读一本关于 c++ 的书(Ulla Kirch-Prinz 和 Peter Prinz 编写的 C++ 编程完整指南;ISBN:0-7637-1817-3),其中提到了 isupper(),以
我目前正在阅读“The C Programming Language 2nd edition”,我对这个练习不太清楚: Functions like isupper can be implemente
我必须检查字符串的第一个字符是小写还是大写。 当我使用英语名称(如David),但弹出带有重音字母的名称(如Á,É,Í,Ó等)(如Árpád)时,效果很好,然后它认为它是小写字母。 string na
这就是问题所在,我的程序没有将大写字母更改为小写字母。我不明白为什么不。 #include #include using namespace std; int main(){ string
我正在学习 haskell,我正在尝试编写一些简单的函数。在我使用函数 isUpper 之前,一切都运行良好。由于此错误,我无法编译该项目: [1 of 1] Compiling Main
这个问题在这里已经有了答案: C# method group strangeness (2 个答案) 关闭 9 年前。 我刚刚看到以下答案:Is there a better way to crea
我收到指向“in”语句的“无效语法”错误。我的错误是什么? while(notes > 1): note = choice(scale) if note[0].isupper() an
我似乎无法弄清楚为什么我的输出只有一倍。 #include #include int my_isupper(int c); int my_tolower(int c); int main(int ar
我正在尝试使用 lex 和 yacc 进行编译器,但由于某种原因,该代码无法在我的 MAC 中的 VM 机器中运行,因为它说 header 中缺少一些函数。这些函数是 islower() 和 isup
我有一个 std::wstring,我想找出哪个字符在上面大小写,哪些是小写。 std::isupper 和 islower 似乎只处理 ASCII 字符,但我希望能够找出所有字符各种大小写字符 例如
我在官方看到了这个说法Python documentation : str.upper().isupper() might be False 有人可以解释一下吗? 最佳答案 如果字符串是数字或由没有大
我正在尝试编写一个函数,它使用 for 循环和 isupper 方法来仅打印字符串的大写字母。 到目前为止我做了什么: upper_chars = "" def only_upper(s):
我创建了一个简单的程序来检查用户输入的字母是大写还是小写,然后使用std::isupper()和std::islower()函数将小写字母转换为大写字母,并将大写字母转换为小写字母。在运行代码时,我得
我在如何使用 isUpper、isLower 和 isDigit 时遇到了问题。具体来说,我试图获取一个字符串并为字符串中的每个字符返回一个元组列表,其中包含三个 Bool 值,用于表示字符是大写字母
我有一个类似这样的代码片段: char choice; do { cout > choice; if(islower(choice) == 0){ toupper(choice); }
我需要计算用户输入的句子中大写字母的数量。 当我在 Google 上搜索解决方案时,我遇到了命令 sum(1 for c in sentence if c.isupper()))。 我使用了它并且它有
谁能向我解释他们将如何找出字符串单词的大写和小写字母?我需要知道单词是说“fish”、“Fish”、“FISH”还是“fISH”。到目前为止,这是我的代码: #include #include #
这个问题在这里已经有了答案: std::transform() and toupper(), no matching function (3 个回答) 去年关闭。 考虑以下代码: #include
这段代码只输出大写字母的个数。它总是将 numMarks 和 numSpaces 输出为 0。我也尝试过 sentence.c_str() 得到相同的结果。我无法理解发生了什么。 cout int
关于 islower() 和 isupper() 的下面两行在 Mike Banahan 的 C 书的同一段落中给出了 (Link: Section 9.3) : islower(int c) Tru
我是一名优秀的程序员,十分优秀!