一
1.
numbesr=1
for i in (0,20):
number*=2
print(numbers)
求0 到 20 的乘积。
2.
summation=0
num=1
while num<=100:
if(num%3==0 or num%7==0) and num%21 != 0
summation+=1
num+=1
print(summation)
求100内能被3或者7整除的同时又不能被21整除的数字的个数
二
1
求1到100 之间的数的和、平均值
求和
a=0
for num in range(1,101):
a+=num
print(a)
b=0
num=1
while num<=100:
b+=num
num+=1
print(b)
求平均值
a=0
for num in range(1,101):
a+=num
print(a/len(range(1,101)))
b=0
num=1
while num <= 100:
b+=num
num+=1
print(b/len(range(1,101)))
2
求1到100之间能被3整除的数的和
a=0
for num in range(1,101):
if num%3==0:
a+=num
print(a)
a=0 #储存和
b=1
while b <=100:
if b%3==0:
a+=b
b+=1
print(a)
3 求1到100 之间不能被7整除的数的和
a=0 #储存和
for num in range(1,101):
if num % 7 !=0 :
a+=num
print(a)
a=0
num=1
while num <=100:
if num % 7 != 0 :
a+=num
num+=1
print(a)
三
1, 求斐波那契数列中第n个数的值 :1、1、2、3、5、8、13、21、34、55........
第n个数=第n-1个数+第n-2个数
a=1 第n-1
b=1 第n-2
c=1 当前数 第n个数
for num in range(3,n+1):
c=a+b
a,b=c,a
print(‘第%d个数是%d’%(n,c))
2 判断101到200之间有多少个素数,并输出所有素数,判断素数方法: 用一个数分别除以二到这个数,若能被整除,就不是素数,反之则是素数。
第一步:将101到200之间的数先取出来
第二步;判断取出来的数是不是素数(让这个数从2开始除到这个数-1,看看能否被整除,如果能被整除就不是素数)
c=0
for a in range(101,201):
for b in range(2,a): #判断这个数是不是素数
if a % b ==0 #(如果2到a-1之间有一个能整除num,就不是素数)
break#(如果有一数能整除,就不是素数)
else:
print(a)
c+=1
print(c)
结果:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
21 (素数的个数)
3.打印出所有水仙花数,所谓水仙花数,是指一个三位数,其各位数的立方的和等于该数本身,比如153=13 + 53 + 3**3
for num in range(100,1000):
if int(str(num)[0])**3 + int(str(num)[1])**3 + int(str(num)[2])**3 == num:
print(num)
结果:153 370 371 407
4,有一个分数序列:2/1, 3/2, 5/3, 8/5 ,13/8 ,21/13.......求出这个序列的第二十个数。分子=上一个数分子加分z母,分母=上一个数的分子
n=20
fz=2
fm=1
for x in range(2,n+1):
fz , fm = fz+fm,fz
print('%d/%d'%(fz,fm))
结果:17711/10946
5给一个正整数,求他的位数,然后逆序将他各位的数字打印出来
import random
num=random.randint (0,10000000000000)
print(num)
print('%d是%d位'%(num,len(str(num))))
for _ in str(num)[::-1]:
print(_)
提高
1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)
num=int(input("请输入"))
if 0 < num <= 10 :
print('儿童')
elif num < 18:
print('未成年')
elif num <= 40 :
print('成年人')
elif num <= 60 :
print('青壮年')
else:
print('老年人')
2.计算5的阶乘 5!的结果是
b=1
for a in range(1,6):
b*=a
print(b)
120
输出9*9乘法表
for a in range(1,10):
for b in range(1,a+1):
print(str(b)+ '*' + str(a)+ '=' +str(a*b),end='\t')
if a==b:
print (' ')
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?
num=100 #所有马 的总数 a是大马的数量,b是中马的数量,c是小马的数量
for a in range(1,101):
for b in range(1,num-a+1):
for c in range(1,num-a-b+1):
if (a+b+c==num)and(3*a+2*b+1/2*c==100):
print('大马有%d头'%a,'中马有%d头'%b,'小马有%d头'%c)
大马有2头 中马有30头 小马有68头
大马有5头 中马有25头 小马有70头
大马有8头 中马有20头 小马有72头
大马有11头 中马有15头 小马有74头
大马有14头 中马有10头 小马有76头
大马有17头 中马有5头 小马有78头
大马有20头 中马有0头 小马有80头
我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的: 5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。
num=100#买的鸡的总数 a是公鸡数量, b是母鸡数量,c是雏鸡数量
for a in range(101):
for b in range(num-a+1):
for c in range(num-a-b+1):
if (a+b+c==num) and (a*5+b*3+c*1/3==100):
print('公鸡有%d只'%a,'母鸡有%d只'%b,'雏鸡有%d只'%c)
12.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?
num=100
for a in range(1,101):
for b in range(1,num-a+1):
for c in range(1,num-a-b+1):
if 15*a+2*b+c*5==num:
print('洗发水%d瓶'%a,'香皂%d个'%b,'牙刷%d把'%c)
洗发水1瓶 香皂5个 牙刷15把
洗发水1瓶 香皂10个 牙刷13把
洗发水1瓶 香皂15个 牙刷11把
洗发水1瓶 香皂20个 牙刷9把
洗发水1瓶 香皂25个 牙刷7把
洗发水1瓶 香皂30个 牙刷5把
洗发水1瓶 香皂35个 牙刷3把
洗发水1瓶 香皂40个 牙刷1把
洗发水2瓶 香皂5个 牙刷12把
洗发水2瓶 香皂10个 牙刷10把
洗发水2瓶 香皂15个 牙刷8把
洗发水2瓶 香皂20个 牙刷6把
洗发水2瓶 香皂25个 牙刷4把
洗发水2瓶 香皂30个 牙刷2把
洗发水3瓶 香皂5个 牙刷9把
洗发水3瓶 香皂10个 牙刷7把
洗发水3瓶 香皂15个 牙刷5把
洗发水3瓶 香皂20个 牙刷3把
洗发水3瓶 香皂25个 牙刷1把
洗发水4瓶 香皂5个 牙刷6把
洗发水4瓶 香皂10个 牙刷4把
洗发水4瓶 香皂15个 牙刷2把
洗发水5瓶 香皂5个 牙刷3把
洗发水5瓶 香皂10个 牙刷1把
3.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。
a=1
b=0
for x in range (1,21):
a*=x
b+=a
print(b)
4.计算 1+1/2!+1/3!+1/4!+...1/20!=?
5.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。
7.输入三个整数x,y,z,请把这三个数由小到大输出。
8.控制台输出三角形
a.根据n的值的不同,输出相应的形状
n = 5时 n = 4
***** ****
**** ***
*** **
** *
*
b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5 n = 7
* *
*** **
***** *****
*******