day4循环和分支练习题

1. 求1到100之间所有数的和、平均值
#for循环
sum1 = 0
average1 = 0
for x in range(1,101):
    sum1 += x
average1 = sum1/100
print(sum1,average1)

# while循环
i = 0;sum2 = 0;average2 = 0
while i<=100:
    sum2 += i
    i += 1
average2 = sum2/100
print(sum2,average2)

输出结果:
5050 50.5
5050 50.5
2. 计算1-100之间能3整除的数的和
# for循环
sum1 = 0
for x in range(1,101):
    if x%3 == 0:
        sum1 += x
print(sum1)

# while循环
sum2 = 0
i = 0
while i<=100:
    if i%3 == 0:
        sum2 += i
    i += 1
print(sum2)

输出结果:
1683
1683

#####3. 计算1-100之间不不能被7整除的数的和
“`Python

for循环

sum1 = 0
for x in range(1,101):
if x%7:
sum1 += x
print(sum1)

while循环

sum2 = 0
i = 0
while i<=100:
if i%7:
sum2 += i
i += 1
print(sum2)

输出结果:
4315
4315

##### 有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月的兔子总共有多少
```Python
import random
n = 1
i=2
num_month = [1,1]
num_month1 =1
month = random.randint(0,36)
if month<3:
    print('第%s个月共有1只兔子' %(month))
else:
    while i<month:
        num_month.append(num_month[i-2]+num_month[i-1])
        i += 1
    print('第%s个月共有%s只兔子' % (month,num_month[-1]))

输出结果:
第6个月共有8只兔子




<div class="se-preview-section-delimiter"></div>
判断101-200之间有多少个素数,并输出所有素数。判断素数的⽅方法:⽤用⼀一个数分别除2到sqrt(这个数),如果能被整除,则表明此数不不是素数,反之是素数

“`Python
import math
list1=[]
i=2
for i in range (101,201):
for j in range(2,int(math.sqrt(i))+1):
if(i%j==0):
break
else:
list1.append(i)
print(list1)

输出结果:
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]





<div class="se-preview-section-delimiter"></div>

##### 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153 = 1^3 + 5^3 + 3^3
 ```Python
list1 = []
for x in range(100,1000):
    if (x == (x//100)**3 + (x//10%10)**3 +(x%10)**3):
        list1.append(x)
print(list1)

输出结果:
[153, 370, 371, 407]




<div class="se-preview-section-delimiter"></div>
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数1 2 1 2 3 2 3 5 3 4 8 5 分子:上一个分数的分⼦子加分母 分母: 上一个分数的分子 fz = 2 fm = 1 fz+fm / fz

“`Python
list_up = [2]
list_down = [1]
number = 0
k = 20
m = 0
for x in range(1,k):
list_down.append(list_up[x-1])
list_up.append(list_up[x-1]+list_down[x-1])
m = list_up[-1]/list_down[-1]
print(m)

输出结果:
1.618033985017358


 ##### 给一个正整数,要求:1、求它是几位数 2.逆序打印出各位数字
 ```Python
import random
n = random.randint(0,1000001)
str1 = str(n)
print(n,len(str1),str1[::-1])

输出结果:
826418 6 814628
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值