首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在python中只有一个for循环运行。

在python中只有一个for循环运行。
EN

Stack Overflow用户
提问于 2018-07-21 05:58:08
回答 1查看 77关注 0票数 -6

当我把'HelLO‘放到这段代码中时,它应该输出10,但只输出5,为什么?

该程序的目的是,如果一个单词包含小写字母,则将分数增加5,如果包含大写字母,则会增加另一个单词的分数。但是,它只需要至少有一个in才能添加分数。HellO既有大写字母也有小写字母,所以加起来应该是10。

代码语言:javascript
复制
capitals="A","B","C","D","E","F","G","H","I","J",
         "K","L","M","N","O","P","Q","R","S","T","U",
         "V","W","X","Y","Z"  
characters="a","b","c","d","e","f","g","h","i","j",
           "k","l","m","n","o","p","q","r","s","t","u",
           "v","w","x","y","z"
word=raw_input("word please")
score=0

for i in range(0,len(word)):
    a=i

for i in range(0,26):
    if word[a]==characters[i]:
        score=score+5
        break

for i in range(0,26):
    if word[a]==capitals[i]:
        score=score+5
        break

print score
EN

回答 1

Stack Overflow用户

发布于 2018-07-21 06:17:36

在执行循环for i in range(0,len(word)): a=i之后,a的值变为len(word)-1 (在本例中为4),并且再也不会改变。以下是您要查找的内容:

代码语言:javascript
复制
import string
score = 0
# Does the string have at least one uppercase char?
if set(string.ascii_uppercase) & set(word):
    score += 5
# Does the string have at least one lowercase char?
if set(string.ascii_lowercase) & set(word):
    score += 5
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51450883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档