Python循环流程

1.for循环 计算1+2+3+……+100的和

1 count = 0
2 i = 1
3 for i in range(101):
4     count+=i
5 print(count)

前n项和公式为:Sn=n*a1+n(n-1)d/2或Sn=n(a1+an)/2。

2.while循环 计算1+3+5+……+99的和

counter = 50
sum = 0
i =1
while i<=counter:
sum +=(2*i-1)
i+=1
print(sum)

4.for循环 求100以内所有能被3整数但不能被5整除的数字的和

1-100 n/3=0 n/15!0

1 num=0
2 for i in range(1,100):
3     if i%3==0 and i%5!=0:
4         num+=i
5 print (num)

9.for循环 搬砖问题:36块砖,36人搬完,男搬4,女搬3,两个小孩抬1砖,要求一次全搬完,问男、女、小孩各多少人?

4x+3y+z/2=36 x+y+z=36

8x+6y+z=72

7x+5y=36

1 for x in range(1,36):
2     for y in range(1,36):
3         z=36-x-y
4         if z%2==0 and 4*x+3*y+z/2==36:
5             print(x,y,z)

10.for循环 找出四位整数abcd中满足下述关系的数?

(ab+cd)(ac+cd)=abcd

12.循环 输出99乘法表

1 for i in range(1,10):
2         for j in range(1,i+1):
3                 print(i,'*',j,'=',i*j,end=' ')
4         print()

13.循环 求水仙花数。三位数abc,如果满足a^3+b^3+c^3=abc,则abc为水仙花数

1 for i in range(100,1000):
2         units=i%100%10
3         decade=i/10%10
4         hundred=i/100
5         if int(units)**3+int(decade)**3+int(hundred)**3==i:
6                 print(i)

15.循环 输入一个整数A,判断它是否质数

提示:若从2到A的平方根的范围内,没有一个数能整除A,则A是质数

质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数

对正整数n,如果用2到 之间的所有整数去除,均无法整除,则n为质数。

 1 n=int(input('请输入一个整数'))
 2 if n<0:
 3         print('此数不是质数')
 4 elif 1<n<4:
 5     print('此数是质数')
 6 else:
 7     m=int(n**0.5+1)
 8     p=0
 9     for i in range(2,m):
10         if n%i==0:
11             p+=1
12     if p==0:
13         print('此数是质数')
14     else:
15         print('此数不是质数')

16.循环  完数,如果一个数等于其所有因子之和,例如:1+2+3=6

1 for i in range(1,1000):
2         num=0
3         for j in range(1,i):
4                 if i%j==0:
5                         num+=j
6         if num==i:
7                 print(i)

17.计算圆周率 PI=4/1-4/3-4/5-4/7-……结果会无限接近于圆周率

祖冲之计算出,圆周率在3.1314926和3.1415927之间,请编程计算,要想得到这样的结果,他要经过多少次加减法运算?

 1 pi=0
 2 i=0
 3 while True:
 4     if i%2==0:
 5         pi=pi+4.0/(2*i+1)
 6     else:
 7         pi=pi-4.0/(2*i+1)
 8     if 3.1415926<=pi<=3.1415927:
 9         break
10     else:
11         i=i+1
12 print(i)

18.循环 已知:fainonacci(斐波那契)数列的前几个数分别为0,1,1,2,3,5,……从第3项开始,每一项都等于前两项的和。读入一个整数n,编程求出此数列的前n项

 1 n=int(input('请输入一个整数:'))
 2 if n==1:
 3     print(0)
 4 elif n==2:
 5     print(0,1)
 6 elif n>=3:
 7     x=0
 8     y=1
 9     print(0,1)
10     for i in range(3,n+1):
11         z=x+y
12         x=y
13         y=z
14         print(z)

19.循环,操作符  一个int类型的整数由32个二进制位组成,每个二进制位的值要么为0要么为1.要求读入一个int类型的整数n,计算它的32个二进制位中总共有多少为1?

1

二进制位
'二进制内置函数bin()'


n=int(input('请输入一个整数:')) 2 temp=bin(n) 3 m=0 4 for i in range(len(temp)): 5 if temp[i]=='1': 6 m+=1 7 print(m)

20.循环 打渔还是晒网  (放弃)

三天打渔,两天晒网。假如有一个人从2000年1.1开始三天打渔,两天晒网,读入三个整数分别表示年份、月份、日期,问这三个整数所表示的那天这个人在打渔还是晒网?

  1 x=int(input('请输入年份'))
  2 y=int(input('请输入月份'))
  3 z=int(input('请输入日期'))
  4 num=0
  5 if x>=2000:
  6     if (x-2000)%4==0 and (x-2000)%100!=0 or (x-2000)%400==0:
  7         num=num+(x-2000)/4*(4*365+1)
  8         if y==1:
  9             num+=z
 10             if 0<num%5<=3:
 11                 print('那天这个人在打渔')
 12             else:
 13                 print('那天这个人在晒网')
 14         elif y==2:
 15             num=num+31+z
 16             if 0<num%5<=3:
 17                 print('那天这个人在打渔')
 18             else:
 19                 print('那天这个人在晒网')
 20         elif y==3:
 21             num=num+31+29+z
 22             if 0<num%5<=3:
 23                 print('那天这个人在打渔')
 24             else:
 25                 print('那天这个人在晒网')
 26         elif y==4:
 27             num=num+91+z
 28             if 0<num%5<=3:
 29                 print('那天这个人在打渔')
 30             else:
 31                 print('那天这个人在晒网')
 32         elif y==5:
 33             num+=91+30+z
 34             if 0<num%5<=3:
 35                 print('那天这个人在打渔')
 36             else:
 37                 print('那天这个人在晒网')
 38         elif y==6:
 39             num+=91+30+31+z
 40             if 0<num%5<=3:
 41                 print('那天这个人在打渔')
 42             else:
 43                 print('那天这个人在晒网')
 44         elif y==7:
 45             num+=182+z
 46             if 0<num%5<=3:
 47                 print('那天这个人在打渔')
 48             else:
 49                 print('那天这个人在晒网')
 50         elif y==8:
 51             num+=213+z
 52             if 0<num%5<=3:
 53                 print('那天这个人在打渔')
 54             else:
 55                 print('那天这个人在晒网')
 56         elif y==9:
 57             num+=244+z
 58             if 0<num%5<=3:
 59                 print('那天这个人在打渔')
 60             else:
 61                 print('那天这个人在晒网')
 62         elif y==10:
 63             num+=274+z
 64             if 0<num%5<=3:
 65                 print('那天这个人在打渔')
 66             else:
 67                 print('那天这个人在晒网')
 68         elif y==11:
 69             num+=305+z
 70             if 0<num%5<=3:
 71                 print('那天这个人在打渔')
 72             else:
 73                 print('那天这个人在晒网')
 74         elif y==12:
 75             num+=335+z
 76             if 0<num%5<=3:
 77                 print('那天这个人在打渔')
 78             else:
 79                 print('那天这个人在晒网')
 80     else:
 81         num+=(x-2004)/4*(4*365+1)+(x-2000)%4*365
 82         if y==1:
 83             num+=z
 84             if 0<num%5<=3:
 85                 print('那天这个人在打渔')
 86             else:
 87                 print('那天这个人在晒网')
 88         elif y==2:
 89             num=num+31+z
 90             if 0<num%5<=3:
 91                 print('那天这个人在打渔')
 92             else:
 93                 print('那天这个人在晒网')
 94         elif y==3:
 95             num=num+31+28+z
 96             if 0<num%5<=3:
 97                 print('那天这个人在打渔')
 98             else:
 99                 print('那天这个人在晒网')
100         elif y==4:
101             num=num+90+z
102             if 0<num%5<=3:
103                 print('那天这个人在打渔')
104             else:
105                 print('那天这个人在晒网')
106         elif y==5:
107             num+=90+30+z
108             if 0<num%5<=3:
109                 print('那天这个人在打渔')
110             else:
111                 print('那天这个人在晒网')
112         elif y==6:
113             num+=90+30+31+z
114             if 0<num%5<=3:
115                 print('那天这个人在打渔')
116             else:
117                 print('那天这个人在晒网')
118         elif y==7:
119             num+=181+z
120             if 0<num%5<=3:
121                 print('那天这个人在打渔')
122             else:
123                 print('那天这个人在晒网')
124         elif y==8:
125             num+=212+z
126             if 0<num%5<=3:
127                 print('那天这个人在打渔')
128             else:
129                 print('那天这个人在晒网')
130         elif y==9:
131             num+=243+z
132             if 0<num%5<=3:
133                 print('那天这个人在打渔')
134             else:
135                 print('那天这个人在晒网')
136         elif y==10:
137             num+=273+z
138             if 0<num%5<=3:
139                 print('那天这个人在打渔')
140             else:
141                 print('那天这个人在晒网')
142         elif y==11:
143             num+=304+z
144             if 0<num%5<=3:
145                 print('那天这个人在打渔')
146             else:
147                 print('那天这个人在晒网')
148         elif y==12:
149             num+=334+z
150             if 0<num%5<=3:
151                 print('那天这个人在打渔')
152             else:
153                 print('那天这个人在晒网')
154 else:
155     print('此时这个人还未开始打渔')
原文地址:https://www.cnblogs.com/gdf456/p/9903103.html