Python科学计算例题:for i in range

Python编程:for i in range 实战科学计算问题
本文通过四个实例展示了如何使用Python的`for i in range`来解决科学计算问题,包括计算猴子摘桃初始数量、找出特定范围内被7整除但非5的倍数的数字、计算数字串的和以及根据输入计算连续数字串的和。通过这些例题,深入理解`for i in range`的用法和在解决问题中的应用。

题目(1):

猴子第一天摘了若干个桃子,随后吃了剩下的一半零一个,之后每天都是如此,到了第十天发现就剩一个了。问求第一天摘了几个桃子的程序


思路:

设第一天摘的桃子是x_{1}、剩余桃子(自变量)为x_{2};  

故而第一天x_{1}=x_{2},而最后一天摘的桃子x_{2}=1;

第一天和次日关系式为:x_{1}÷2-1=x_{2}  →  x_{1}=2(x_{2}+1),如此循环九次至第十日而剩一。

for i in range用法详解: for i in range

        range(start, stop[, step]),分别是起始、终止和步长

则:range(9, 0, -1)即:从9到0,每次减少一天


解题:

x2=1
for i in range(9,0,-1):
    x1=(x2+1)*2
    x2=x1
print(x1)


题目(2):

编写一个程序,它可以找到2000-3200中所有可以被7整除但不是5倍数的数字,并将得到的数字按逗号分隔打印在一行


思路:

用for i range使程序从2000依次赋值到3201

可以被整除意为余数为0,可以用i%n==0;

不是5的倍数可以用i%n!=0

在Python中,=是赋值的意思,而==是用于判断是否相等,!=则是不相等

之后使用append函数将找出来的值追加出来

append()函数使用


解题:

l=[]
for i in range(2000,3201):
    if(i%7==0)and(i%5!=0):
        l.append(str(i))
print(','.join(l))


题目(3):

编写一个程序,输入a的值,计算a+aa+aaa+aaaa并输出


思路:

a和aa的关系式为a*10+a;aa和aaa的关系式也是a*10+a;a和aaa则是a*100+a*10+a*1。


解题:

n=0
ls=[]
a=eval(input('输入一个数字:'))
for i in range(4):
    n+=a*(10**i)
    ls.append(n)
print(ls[0]+ls[1]+ls[2]+ls[3])


题目(4):

编写一个程序,输入a和n的值,计算a+aa+aaa+aaaa+......+aaaaa....(n个a)并输出


思路:

n1=a*1;n2=a*10+a*1;n3则是a*100+a*10+a*1。

s=a+aa+aaa+aaaa…的值 相加数值和几个数相加都是由键盘控制
首先利用input函数得到输入的相加数值和相加个数
得到相加的个数值,则可以利用循环语句进行不断的加总
并且在循环中可以对原始输入值a 进行重新赋值,从a 到aa 到aaa 等


解题:

a = input('a=')
n = int(input('n='))
s = 0
sum = 0
inta = int(a[0])
for i in range(n):
    sum += inta
    s += sum
    inta *= 10
print(s)

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值