【python】百万富翁问题

题目:

题目简述: 一位百万富翁与一位陌生人达成了一个交换金钱的协议。每天,陌生人会给百万富翁十万元,而百万富翁则从第一天开始,每天给陌生人的钱是前一天的两倍,初始为一分钱。这个过程持续一个月(30天)。需要编写一个程序来计算在这期间,百万富翁和陌生人各自给了对方多少钱。

代码:

def calculate_money(days=30):
    # 初始化变量
    millionaire_money = 0  # 百万富翁收到的钱
    stranger_money = 0  # 陌生人收到的钱
    penny = 1  # 百万富翁第一天给陌生人的钱,单位是分

    # 循环38天
    for day in range(1, days + 1):
        # 每天百万富翁收到10万元
        millionaire_money += 100000
        # 陌生人每天收到的钱是前一天的两倍
        stranger_money += penny
        penny *= 2  # 下一天百万富翁给陌生人的钱是前一天的两倍

    # 将陌生人收到的钱从“分”转换为“元”
    stranger_money /= 100  # 1元等于100分

    return millionaire_money, stranger_money  # 返回两者收到的总金额

# 调用函数
millionaire_money, stranger_money = calculate_money()
# 百万富翁交出了多少钱?陌生人交出了多少钱?
print(stranger_money,millionaire_money)
# 10737418.23 3000000

你可能感兴趣的:(python)