Python入门经典——编程项目(一)

这篇博客介绍了两个Python编程项目:一是计算国际象棋棋盘上按照特定规则放置的麦粒总数及其重量,二是解决纸张对折30次后的厚度问题。此外,还涉及了正多边形内角计算和‘俄国农民’乘法算法的编程实现。
摘要由CSDN通过智能技术生成

1.发明国际象棋的价值

关于国际象棋的发明者,有着一个广为流传的神话。当地统治者非常高兴,要给国际象棋的发明者大量的黄金作为奖励。发明者提出了另一种奖励方案,他希望得到棋盘上堆放的麦粒,但是需要按一下的方式来摆放:在棋盘的第一个正方形格子的四个角上,各放上一颗麦粒;第二个正方形格子的4个角上,各放上2颗麦粒;第3个格子的各个角上放8颗麦粒,以此类推,每次粮食的数量增加一倍。棋盘上共有64个方格。编一个程序计算一下内容:

(a)统治者要想发明者奖励麦粒的总数是多少?

(b)1颗麦粒重量约50毫克。小麦共重多少?

(c)选择一个地区,并确定将上述重量的小麦覆盖在该区域上,小麦的深度将是多少?假设1颗麦粒的体积为50立方毫米,提示输入区域的面积,然后输出的小麦的深度和所使用的单位。

#-*- coding:utf-8 -*-
import math

def calculateNum():
    numOfWheat = 0L
    for i in range(0,64):
        numOfWheat += math.pow(2, i)
    return numOfWheat

def calculateWeight():
    weightOfWheat = calculateNum() * 50 / 1000 /1000.0
    return weightOfWheat

def calculateDepth():
    area = int(raw_input('Please i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值