python - 我无法给出输出 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))
解决方案
请试试这个:
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))
推荐阅读
- javascript - Chrome 扩展检测用户添加了新标签
- react-native - 安装独立 apk 后的 Expo 闪屏或白屏
- html - 每次应用“断字”时,有没有办法用符号替换行的最后一个字母?
- sql - 带分隔符的 SQL 子查询
- java - 为什么聚合函数没有给出预期的结果?
- regex - 使用正则表达式规则打印字符串
- http - How to send boolean value or int value in a http request body?
- android - 如何设置 android 库以支持不同的 android 版本
- c# - 来自 MSSQL 中存储过程的 C# Web API 嵌套 JSON
- python - 为什么记录器不打印任何东西?