鱼C论坛

 找回密码
 立即注册
查看: 1632|回复: 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 代码来计算为一个人找零所需的最少纸币/硬币数量,并输出结果:
# 创建变量 q20_amount 并为其分配一个数字
q20_amount = 91

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

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

# 打印输出结果
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()  函数,确保输出的结果没有多余的换行符。

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

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

图1

图1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

您可以使用以下 Python 代码来计算为一个人找零所需的最少纸币/硬币数量,并输出结果:
# 创建变量 q20_amount 并为其分配一个数字
q20_amount = 91

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

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

# 打印输出结果
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()  函数,确保输出的结果没有多余的换行符。

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

这表示找零 91 元所需的最少纸币/硬币数量分别为 4 张 20 元纸币、1 张 10 元纸币和 1 枚 1 元硬币。由于没有需要找零的 5 元和 2 元纸币,对应的数量为 0。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

# 初始化各张票据和硬币的数量为 0
q20_20 = 0
q20_10 = 0
q20_5 = 0
q20_2 = 0
q20_1 = 0

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

if q20_amount >= 10:
    q20_10 = q20_amount // 10
    q20_amount %= 10

if q20_amount >= 5:
    q20_5 = q20_amount // 5
    q20_amount %= 5

if q20_amount >= 2:
    q20_2 = q20_amount // 2
    q20_amount %= 2

q20_1 = q20_amount

# 处理单数和复数形式的输出
output20 = ""
if q20_20 > 0:
    if q20_20 > 1:
        output20 += str(q20_20) + " twenties"
    else:
        output20 += str(q20_20) + " twenty"

if q20_10 > 0:
    if output20 != "":
        output20 += ", "
    if q20_10 > 1:
        output20 += str(q20_10) + " tens"
    else:
        output20 += str(q20_10) + " ten"

if q20_5 > 0:
    if output20 != "":
        output20 += ", "
    if q20_5 > 1:
        output20 += str(q20_5) + " fives"
    else:
        output20 += str(q20_5) + " five"

if q20_2 > 0:
    if output20 != "":
        output20 += ", "
    if q20_2 > 1:
        output20 += str(q20_2) + " twos"
    else:
        output20 += str(q20_2) + " two"

if q20_1 > 0:
    if output20 != "":
        output20 += ", "
    if q20_1 > 1:
        output20 += str(q20_1) + " ones"
    else:
        output20 += str(q20_1) + " one"

print(output20.strip())  # 输出:4 twenties, 1 ten, 1 one

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

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

如果你有任何疑问,请随时追问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

q20_20 = q20_amount // 20
q20_amount %= 20

q20_10 = q20_amount // 10
q20_amount %= 10

q20_5 = q20_amount // 5
q20_amount %= 5

q20_2 = q20_amount // 2
q20_amount %= 2

q20_1 = q20_amount

output20 = ""
if q20_20 > 0:
    output20 += f"{q20_20} twenties\n"
if q20_10 > 0:
    output20 += f"{q20_10} ten\n"
if q20_5 > 0:
    output20 += f"{q20_5} five\n"
if q20_2 > 0:
    output20 += f"{q20_2} two\n"
if q20_1 > 0:
    output20 += f"{q20_1} one\n"

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

print(output20)

如果回答对你有帮助,请给我一个最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 05:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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