题目(1):
猴子第一天摘了若干个桃子,随后吃了剩下的一半零一个,之后每天都是如此,到了第十天发现就剩一个了。问求第一天摘了几个桃子的程序
思路:
设第一天摘的桃子是、剩余桃子(自变量)为
;
故而第一天=
,而最后一天摘的桃子
=1;
第一天和次日关系式为:÷2-1=
→
=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函数将找出来的值追加出来
解题:
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)
Python编程:for i in range 实战科学计算问题
本文通过四个实例展示了如何使用Python的`for i in range`来解决科学计算问题,包括计算猴子摘桃初始数量、找出特定范围内被7整除但非5的倍数的数字、计算数字串的和以及根据输入计算连续数字串的和。通过这些例题,深入理解`for i in range`的用法和在解决问题中的应用。
5903





