鱼C论坛

 找回密码
 立即注册
查看: 2331|回复: 3

[已解决]求救

[复制链接]
发表于 2023-8-1 17:20:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
创建变量 q20_amount 并为其分配一个数字。

编写一个 Python 程序来计算为一个人找零所需的最少纸币/硬币数量。

为了问题简单起见,假设我们只有纸币$20、$10、$5、硬币$2、$1。例如您需要找零$91,则需要四个$20、一个$10和一个$1。

该程序的输出应采用以下格式(对于上述示例$91) :

4 twenties
1 ten
1 one

使用条件语句来处理上述输出的单数和复数版本。当只需要一张账单时,您应该使用该词的单数版本。当需要多于一张票据时,应使用标签的复数形式。t图1 提到的是该法案的单数和复数版本。

使用变量 output20 来分配解决方案。

提示:
要确定所需钞票的数量,您需要使用整数除法和模运算。
使用条件语句中的中间变量q20_20, q20_10, q20_5,q20_2和q20_1来决定 output20 中的单复数形式。
您可能需要在output2中使用strip()函数,删除额外 '\n' 的内容。



最佳答案
2023-8-1 17:20:51
问题解答:

您可以使用以下 Python 代码来计算为一个人找零所需的最少纸币/硬币数量,并输出结果:

  1. # 创建变量 q20_amount 并为其分配一个数字
  2. q20_amount = 91

  3. # 计算所需纸币/硬币数量
  4. q20_20 = q20_amount // 20
  5. q20_10 = (q20_amount % 20) // 10
  6. q20_5 = (q20_amount % 10) // 5
  7. q20_2 = (q20_amount % 5) // 2
  8. q20_1 = q20_amount % 2

  9. # 输出结果
  10. output20 = f"{q20_20} {'twenty' if q20_20 == 1 else 'twenties'}\n"
  11. output20 += f"{q20_10} {'ten' if q20_10 == 1 else 'tens'}\n"
  12. output20 += f"{q20_5} {'five' if q20_5 == 1 else 'fives'}\n"
  13. output20 += f"{q20_2} {'two' if q20_2 == 1 else 'twos'}\n"
  14. output20 += f"{q20_1} {'one' if q20_1 == 1 else 'ones'}"

  15. # 打印输出结果
  16. print(output20.strip())
复制代码


这段代码首先创建了变量  q20_amount  并为其分配值 91,即找零的金额。然后,利用整数除法和模运算,计算所需的纸币和硬币数量,并将结果保存在  q20_20 、 q20_10 、 q20_5 、 q20_2  和  q20_1  中。

接着,使用条件语句来处理输出的单数和复数形式。通过在输出字符串中添加  'twenty' 、 'ten' 、 'five' 、 'two' 、 'one'  或对应的复数形式  'twenties' 、 'tens' 、 'fives' 、 'twos' 、 'ones'  来实现。最后,将结果拼接成一个字符串并打印输出。

提示中提到可能需要使用  strip()  函数来删除额外的换行符,确保输出的格式整齐。在代码中,我们使用了  strip()  函数,确保输出的结果没有多余的换行符。

当运行上述代码时,输出结果应该为:
  1. 4 twenties
  2. 1 ten
  3. 0 fives
  4. 0 twos
  5. 1 ones
复制代码


这表示找零 91 元所需的最少纸币/硬币数量分别为 4 张 20 元纸币、1 张 10 元纸币和 1 枚 1 元硬币。由于没有需要找零的 5 元和 2 元纸币,对应的数量为 0。

图1

图1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-8-1 17:20:51 | 显示全部楼层    本楼为最佳答案   
问题解答:

您可以使用以下 Python 代码来计算为一个人找零所需的最少纸币/硬币数量,并输出结果:

  1. # 创建变量 q20_amount 并为其分配一个数字
  2. q20_amount = 91

  3. # 计算所需纸币/硬币数量
  4. q20_20 = q20_amount // 20
  5. q20_10 = (q20_amount % 20) // 10
  6. q20_5 = (q20_amount % 10) // 5
  7. q20_2 = (q20_amount % 5) // 2
  8. q20_1 = q20_amount % 2

  9. # 输出结果
  10. output20 = f"{q20_20} {'twenty' if q20_20 == 1 else 'twenties'}\n"
  11. output20 += f"{q20_10} {'ten' if q20_10 == 1 else 'tens'}\n"
  12. output20 += f"{q20_5} {'five' if q20_5 == 1 else 'fives'}\n"
  13. output20 += f"{q20_2} {'two' if q20_2 == 1 else 'twos'}\n"
  14. output20 += f"{q20_1} {'one' if q20_1 == 1 else 'ones'}"

  15. # 打印输出结果
  16. print(output20.strip())
复制代码


这段代码首先创建了变量  q20_amount  并为其分配值 91,即找零的金额。然后,利用整数除法和模运算,计算所需的纸币和硬币数量,并将结果保存在  q20_20 、 q20_10 、 q20_5 、 q20_2  和  q20_1  中。

接着,使用条件语句来处理输出的单数和复数形式。通过在输出字符串中添加  'twenty' 、 'ten' 、 'five' 、 'two' 、 'one'  或对应的复数形式  'twenties' 、 'tens' 、 'fives' 、 'twos' 、 'ones'  来实现。最后,将结果拼接成一个字符串并打印输出。

提示中提到可能需要使用  strip()  函数来删除额外的换行符,确保输出的格式整齐。在代码中,我们使用了  strip()  函数,确保输出的结果没有多余的换行符。

当运行上述代码时,输出结果应该为:
  1. 4 twenties
  2. 1 ten
  3. 0 fives
  4. 0 twos
  5. 1 ones
复制代码


这表示找零 91 元所需的最少纸币/硬币数量分别为 4 张 20 元纸币、1 张 10 元纸币和 1 枚 1 元硬币。由于没有需要找零的 5 元和 2 元纸币,对应的数量为 0。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-1 17:21:02 | 显示全部楼层
下面是一个计算找零所需最少纸币和硬币数量的 Python 程序,并根据条件语句处理单数和复数形式的输出:

  1. q20_amount = 91  # 假设需要找零的金额为 91

  2. # 初始化各张票据和硬币的数量为 0
  3. q20_20 = 0
  4. q20_10 = 0
  5. q20_5 = 0
  6. q20_2 = 0
  7. q20_1 = 0

  8. # 计算所需的纸币和硬币数量
  9. if q20_amount >= 20:
  10.     q20_20 = q20_amount // 20
  11.     q20_amount %= 20

  12. if q20_amount >= 10:
  13.     q20_10 = q20_amount // 10
  14.     q20_amount %= 10

  15. if q20_amount >= 5:
  16.     q20_5 = q20_amount // 5
  17.     q20_amount %= 5

  18. if q20_amount >= 2:
  19.     q20_2 = q20_amount // 2
  20.     q20_amount %= 2

  21. q20_1 = q20_amount

  22. # 处理单数和复数形式的输出
  23. output20 = ""
  24. if q20_20 > 0:
  25.     if q20_20 > 1:
  26.         output20 += str(q20_20) + " twenties"
  27.     else:
  28.         output20 += str(q20_20) + " twenty"

  29. if q20_10 > 0:
  30.     if output20 != "":
  31.         output20 += ", "
  32.     if q20_10 > 1:
  33.         output20 += str(q20_10) + " tens"
  34.     else:
  35.         output20 += str(q20_10) + " ten"

  36. if q20_5 > 0:
  37.     if output20 != "":
  38.         output20 += ", "
  39.     if q20_5 > 1:
  40.         output20 += str(q20_5) + " fives"
  41.     else:
  42.         output20 += str(q20_5) + " five"

  43. if q20_2 > 0:
  44.     if output20 != "":
  45.         output20 += ", "
  46.     if q20_2 > 1:
  47.         output20 += str(q20_2) + " twos"
  48.     else:
  49.         output20 += str(q20_2) + " two"

  50. if q20_1 > 0:
  51.     if output20 != "":
  52.         output20 += ", "
  53.     if q20_1 > 1:
  54.         output20 += str(q20_1) + " ones"
  55.     else:
  56.         output20 += str(q20_1) + " one"

  57. print(output20.strip())  # 输出:4 twenties, 1 ten, 1 one
复制代码


上述代码根据所需的纸币和硬币数量,构建了一个输出字符串。使用条件语句来处理单数和复数形式的输出。最后,通过调用strip()函数去除输出字符串末尾的多余换行符。

请注意,你可以根据实际需求修改q20_amount的值来计算其他金额的找零。

如果你有任何疑问,请随时追问。
如果问题已经解决,请设置最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-1 17:34:57 | 显示全部楼层
本帖最后由 Mike_python小 于 2023-8-1 14:38 编辑
  1. q20_amount = 91

  2. q20_20 = q20_amount // 20
  3. q20_amount %= 20

  4. q20_10 = q20_amount // 10
  5. q20_amount %= 10

  6. q20_5 = q20_amount // 5
  7. q20_amount %= 5

  8. q20_2 = q20_amount // 2
  9. q20_amount %= 2

  10. q20_1 = q20_amount

  11. output20 = ""
  12. if q20_20 > 0:
  13.     output20 += f"{q20_20} twenties\n"
  14. if q20_10 > 0:
  15.     output20 += f"{q20_10} ten\n"
  16. if q20_5 > 0:
  17.     output20 += f"{q20_5} five\n"
  18. if q20_2 > 0:
  19.     output20 += f"{q20_2} two\n"
  20. if q20_1 > 0:
  21.     output20 += f"{q20_1} one\n"

  22. output20 = output20.strip()  # 去除多余的换行符 '\n'

  23. print(output20)
复制代码


如果回答对你有帮助,请给我一个最佳答案!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 06:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表