折纸测珠峰python程序_哪个大神能帮忙用python做一下这个程序,真的万分感谢

展开全部

首先1/200厘米,需要用浮点数运算,得出纸的厚度t。再分析一下,输入0折0次就是原始厚度t*1(2的0次方636f707962616964757a686964616f31333337623463乘以厚度),输入1就是2倍的原始厚度t*2(2的1次方乘以厚度),输入2是4倍原始厚度(2的2次方乘以厚度),输入3就是8倍原始厚度(2的3次方乘以厚度)……

可见,折纸次数n,最终那么厚度就是2^n次方乘以厚度。

这就是题目中为什么要求用迭代器。循环迭代器只会顺序读取,不会再头开始循环,用于处理大数据。iter(),那就需要用next()来取值。参考如下:t = float(1)/200                         #计算原始厚度

print 'Thickness is :',t,'cm'

iterator = iter([2**i for i in range(31)]) #迭代器 从2的0次方到2的30次方

n = input('count:')                       #输入折纸次数

for i in range(31):

if i == n :

print 'final thickness of the paper is:',iterator.next()*t,'cm'

break

iterator.next()                         #循环列表range(31)和迭代器iterator,当值等于输入的折纸次数时,打印厚度,否则生成器取下一值,并再做判断

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值