自学编程Python日更成长营

自学Python:邮票组合

2022-02-13  本文已影响0人  小强聊成长

我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或几张的组合,可以满足不同邮件的不同邮资。

现在,邮局有4种不同面值的邮票,在每个信封上最多能贴5张邮票,面值可以相同也可以不同,但至少要贴3种不同面值的邮票。

那么问题来了,求出用这4种面值所能组成的邮资的最大值。

由于至少要贴3种不同的邮票,最多贴5张,我们可以按照面值最大的贴3张、面值第二大的贴1张、面值第三大的贴1张来求出最大的邮资。

公式为:最大值=最大面值×3+第二大面值×1+第三大面值×1

下面直接上代码:

########################

if __name__=="__main__":

a, b, c, d = map(int, input("请输入4种邮票的面值,以空格分割: \n").split())

youpiao = [0]*4  # 存放4种邮票的面值

    youpiao[0] = a

youpiao[1] = b

youpiao[2] = c

youpiao[3] = d

print("你输入的4种邮票面值为:" )

print(youpiao)

# 对邮票面值排序,最大面值为youpiao[3],第二大面值为youpiao[2],第三大面值为youpiao[1]

    youpiao.sort()

sum = youpiao[3]*3 + youpiao[2]*1 + youpiao[1]*1

    print("组合后的最大邮资为:%d" %sum)

########################

执行结果如下:

请输入4种邮票的面值,以空格分割:

1 5 7 3

你输入的4种邮票面值为:

[1, 5, 7, 3]

组合后的最大邮资为:29

________________END______________

上一篇 下一篇

猜你喜欢

热点阅读