【问题标题】:How to add the value in string and go to next letter?如何在字符串中添加值并转到下一个字母?
【发布时间】:2019-05-08 21:22:48
【问题描述】:

两个人参加比赛。会有一个简单、困难和中等的问题

Difficulty  Score
   E             1
   M             3
   H             5

用户将输入两个字符串 e 和 b ,函数应该找出更大的分数或平局。

我的代码是:

def winner(e, b):
    sume = 0
    sumb =0
    highest = 0
    x = False
    for i in (range(len(erica))):
        if (erica[i] =='E'):
            sume +=1
            x = True
        elif (erica[i] =='M'):
            sume = sume+3
            x = True
        elif (erica[i] =='H'):
            sume +=5
            x = True
        return sume

if __name__ == '__main__':
    erica = input()
    bob = str(input())

print(winner(e,b))

当我为e 输入HEM 时,它应该给出9,但它只给出5

【问题讨论】:

  • 不是解决您的问题的方法,但我建议使用正确的变量:您应该将ericabob 传递给winner,然后在@ 中使用eb 987654332@.

标签: python string if-statement


【解决方案1】:

return 语句缩进有问题。试试下面。

另外,您没有传递正确的变量。

def winner(e, b):
    sume = 0
    sumb =0
    highest = 0
    x = False
    for i in (range(len(e))):
        if (e[i] =='E'):
            sume +=1
            x = True
        elif (e[i] =='M'):
            sume = sume+3
            x = True
        elif (e[i] =='H'):
            sume +=5
            x = True
    return sume
if __name__ == '__main__':
    e = input()
    b = str(input())
print(winner(e,b))

【讨论】:

  • 并且print() 应该在if 内缩进。
【解决方案2】:
def winner(e, b):
    sume = 0
    sumb =0
    highest = 0
    for i in (range(len(e))):
        if (e[i] =='E'):
            sume +=1
        elif (e[i] =='M'):
            sume = sume+3
        elif (e[i] =='H'):
            sume +=5
    for i in (range(len(b))):
        if (b[i] =='E'):
            sumb +=1
        elif (b[i] =='M'):
            sumb = sumb+3
        elif (b[i] =='H'):
            sumb +=5
    if(sume>sumb):
        return "Erica"
    else:
        return "Bob"
if __name__ == '__main__':
    e = input()
    b = str(input())
    print(winner(e,b))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多