首页 > 解决方案 > 我无法给出输出 BUST

问题描述

给定 1 到 11 之间的三个整数,如果它们的和小于或等于 21 ,则返回它们的和。

如果总和超过 21 并且有 11,则将总和减少 10。

最后,如果 sum(即使在调整后)超过 21,则返回BUST

def func(a,b,c ):
    while((a,b,c)in range (1,12)):
        sum=a+b+c
        if sum<=21:
            return sum
        if sum>21 and 11 in (a,b,c):
            sum=sum-10
            if sum>21:
                return "Bust"
print(func(9,9,9))

标签: pythonpython-3.x

解决方案


请试试这个:

def func(a, b, c):
  abc = (a, b, c)
  sum_abc = sum(abc)
  if sum_abc > 21 and 11 in abc:
    sum_abc -= 10
  return "BUST" if sum_abc > 21 else sum_abc

print(func(9,9,9))

推荐阅读