作业

1
.求2的20次方。(先给numbers赋值,然后在for循环中从0-20开始取值,)
numbers=1
for i in range(0,20):
numbers=2
print(numbers)
先给numbers赋值等于1.
i=0-19共20次
i=0 numbers
2=2 2(0+1)
i=1 numbers
2=2
2 2(1+1)
i=2 numbers
2=2
22一直到19次 2*(2+1)

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整除的个数。
编程实现(for和while各写 遍):
3.求1到100之间所有数的和、平均值
num1=0
for x in range(1,101):
num+=x
print(‘和’:num,’平均值’:num1/100)

num=1
num1=0
while num<=100: //(whie>100:
break)另外一种
num1+=num
num+=1
print(‘和’:num1,’平均值’:num1/100)

4.计算1-100之间能3整除的数的和
num=0 // num=0
for x in range(0,101,3): num1=0
num+=x while num<=100
print(num) num1+=num
num=0 num+=2
for x in range(101): print(‘和’:num)
while x%3==0:
num+=x
print(‘和’:num)

5.计算1-100之间 能被7整除的数的和
num=0
for x in range(0,101,):
if x%7!=0:
num+=x
print(num)

num=1
x=0
while x<=100:
if x%7!=0:
num+=x
x+=1
print(num)

6.求斐波那契数 中第n个数的值:1,1,2,3,5,8,13,21,34....
规律从第3个数开始是第一个和第二个的和。后面的数都是前两个数的和

Pre-1=1 #前第一个数
pre-2=1 #前第二个数
n=6 #求第几个数
current=pre-1+per-2 #当前数
If n ==1 or n==2:
current=1

从第三个数开始

for x in range(n-2)
current=pre-1+pre-2 #求和
pre-2=pre-1
Pre-1=current
print(current)

7.判断101-200之间有多少个素数,并输出所有素数。判断素数的 法: 个数分别除2到sqrt(这个 数),如果能被整除,则表明此数 是素数,反之是素数

素数又叫质数,除了1和它本身以外不能被其他的数整除。

count=0
for num in range(101,201): #(方法一)
#判断取出来的数是否是素数
for x in range(2,num):
If num%2==0
#print(num,’取出来的数不是素数’)
break
else:
print(num,’是素数’)
count+=1
print(’101-201之间的素数:’count)

方法二

count=0
for num in range(101,201):
flag=trus #假设取出来的是素数
for x in range(2,num):
If num%2==0:
flag=false #如果在2-num-num-1之间的一个数能够被num整除,假设不成立
break

  if flag:
     count+=1
     print(num,’是素数’)

print(’101-201之间的素数:’count)
8.打印出所有的 仙花数,所谓 仙花数是指 个三位数,其各位数字 和等于该数本身。 如:153是 个 仙花数,因为153 = 1^3 + 5^3 + 3^3 for num in range(100,1000):
ge=num%10
shi=num//10%10
bai=num//100
if num=ge3+shi3+bai**3
print(num,'是水仙花数')

9.有 分数序 :2/1,3/2,5/3,8/5,13/8,21/13...求出这个数 的第20个分数 分 :上 个分数的分 加分 分 : 上 个分数的分 fz = 2 fm = 1 fz+fm / fz #分子:下一个分数的分子=上一个分数的分子+分目

分母:下一个分数的分母=上一个分数的分子

fenzi=1
fenmu=1
for x in range(20): #第20个
fenzi,fenmu =fenzi+fenmu,fenzi
print(fenzi,'/',fenmu)

10.给 个正整数,要求:1、求它是 位数 2.逆序打印出各位数字 方法一:

2//10=0 1次

35//10=3 3 // 10 =0 2次

345//10 34//10 =3 3//10=0 3次

num=7883788 # num为随机数
count=0
while True:
print(num%10,end='')
num//=10
count+=1
if num==0:
break
print(count,'位数')

方法二:
num=788123
print(’位数’,len(str(num))
print(’逆序),str(num)【::-1】)

11.计算5的阶乘 5!的结果是

snum1=0
snum=1
for x in range(1,5):
snum *=x
snum1+=snum
print(snum1)

12.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘
snum1=0 #保留最后的和
for num in range(1,21):
snum2=1 #保存当前取出来的数的阶乘
for x in range(1,num+1):
snum2 *= x
snum1+=snum2
print(snum1)

13.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果
snum1=0
while True:
num=int(input('请输入数字'))
if num==0:
break
print(snum1)

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值

4->44->444->4444

44=4*10+4

444=44*10+4

4444=444*10+4

num=4 #数字每一位上的数
n=6 #求和的项数
snum=0 #和
num1=num #个位数
for x in range(n):
print(num)
snum1+=num
num=num*10+num1
print('和',snum1)

练习:求1+12+123+1234.....+123456789

1->12 1*10+2

12->123 12*10+3

123->1234 123*10+4

num=0
snum=0
num1+=num
for x in range(1,10):
num=num*10+x
print(num)
snum+=num
print(‘和',snum)

16.输入三个整数x,y,z,请把这三个数由小到大输出
x=23
y=34
z=11
max1=x
if y>x:
max1=y
if z>y:
max1=z
print(max1)
min1=x
if y min1=y
if z min1=z
print(min1)
print(x+y+z-max1-min1)

17.控制台输出三角形
a.根据n的值的不同,输出相应的形状
n = 5时 n = 4





b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5 n = 7

  •                *
    


                *******

a和b
方法一
n=5 #控制行数
for x in range(n): #控制一行的个数
for y in range(5-x):
print('*',end='')
print()#换行

方法二
for x in range(n):
print(’’,’(n-x)’)

C和d

1*,2个空格

3*,1个空格

5*,0个空格

的个数+空格的个数2==n

空格的个数=(n-*的个数)/2

n = 5
for x in range(1,n+1,2):
space=int((n-x)/2)
print(' 'space,end='')
print('
'*x)

18.输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

第一个乘数:1-行数

第二个乘数:行数

for i in range(1,10): #i控制行
for j in range(1,i+1): #j控制列
print(j,'',i,'=',ij,end=' ‘,sep=‘'). #sep排列整齐
print()

19.这是经典的”百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?

for big in range(1,100//3):
for mid in range(1,100//2):
for small in range(2,100,2):
if big+mid+small==100 and big3+mid2+small//2==100:
print('大马',big,'中马',mid,'小马',small)

你可能感兴趣的:(作业)