-2

标题中的问题。我必须能够确定 raw_input 语句中是否有大写字母。我不能使用循环。只是 if 和字符串方法。

4

4 回答 4

5

没有循环 - 使用递归

has_capital = lambda s:s[0].isupper() or has_capital(s[1:]) if s else False
于 2012-10-22T01:57:40.133 回答
4

如果您将仅包含小写字母的字符串转换为小写,它将匹配自身。因此,以下将为您提供大写字符串的 TRUE。

mystring.lower() != mystring
于 2012-10-22T01:36:56.253 回答
2

使用集合交集运算符

import string
if set(raw_input()) & set(string.ascii_uppercase):
  # hello
于 2012-10-22T02:01:28.530 回答
0
filter(lambda x:x.isupper(),my_string)

尽管引擎盖过滤器将是一个循环结构

也许……或者

set(my_string) - set(my_string.lower())

转换为 set 也循环遍历 my_string 中的所有字母(至少我认为)

于 2012-10-22T01:52:45.123 回答