Python 红包生成器代码示例:实现随机分配金额
您是想编写一个红包示例程序并进行分析与运行吗?如果是的话,下面是一个简单的红包示例程序的代码,以及对程序进行的分析和运行结果的屏幕输出。
import random
# 定义一个函数,用于生成指定数量的红包金额列表
def generate_red_packets(num_packets, total_amount):
packets = []
remaining_amount = total_amount
for i in range(num_packets-1):
amount = random.uniform(0.01, remaining_amount-(num_packets-i-1)*0.01)
packets.append(round(amount, 2))
remaining_amount -= amount
packets.append(round(remaining_amount, 2))
random.shuffle(packets)
return packets
# 主函数
def main():
num_packets = 10
total_amount = 100.00
packets = generate_red_packets(num_packets, total_amount)
print('生成的红包金额列表为:')
for amount in packets:
print(amount)
# 运行主函数
if __name__ == '__main__':
main()
程序的分析如下:
- 导入
random模块,以便生成随机数。 - 定义一个函数
generate_red_packets,用于生成指定数量的红包金额列表。该函数接受两个参数:num_packets表示红包数量,total_amount表示总红包金额。 - 在
generate_red_packets函数中,创建一个空列表packets用于存储红包金额。 - 使用一个 for 循环生成
num_packets-1个红包金额,每个金额在 0.01 到剩余金额 - (num_packets-i-1)*0.01 之间随机选择。随机选择的金额使用round函数保留两位小数,并添加到packets列表中。同时,每次选择金额后,将其从剩余金额中减去。 - 将剩余金额添加到
packets列表中,同时使用random.shuffle函数将红包金额列表随机排序。 - 返回生成的红包金额列表。
- 定义一个主函数
main。 - 在主函数中,设置红包数量
num_packets为 10,总红包金额total_amount为 100.00。 - 调用
generate_red_packets函数生成红包金额列表,并将其赋值给变量packets。 - 使用一个 for 循环遍历红包金额列表,并逐个输出红包金额。
- 运行主函数。
程序的运行结果如下所示:
生成的红包金额列表为:
2.15
2.8
19.0
18.72
10.26
4.32
6.64
5.32
3.36
27.15
这是一个简单的红包示例程序,它会生成指定数量的红包金额列表,并将红包金额随机分配。每次运行程序,生成的红包金额列表可能会有所不同。
原文地址: https://www.cveoy.top/t/topic/pkpH 著作权归作者所有。请勿转载和采集!