Day5 循环作业题
-
使用for循环计算50~150中所有能被3整除但是不能被5整除的数的和
sum=0 for i in range(50,151): if i % 3==0 and i%5!=0: sum=sum+i print(sum)
-
统计100以内个位数是2并且能够被3整除的数的个数
count=0 for i in range(2,100,10): if i % 3 ==0: count+=1 print(i) print(count)
-
写程序计算 n 的阶乘 n! 的结果
i=1 s=1 while 1<=i<=5: s=s*i i+=1 print(s)
-
输入任意一个正整数,求他是几位数?
注意: 这儿不能使用字符串,只能用循环 (会用到while循环)
num=int(input("请输入一个正整数:")) count=0 while num//10>0: num=num//10 count+=1 print(count+1,"位数",sep="")
-
判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
注意:会用break
num=int(input("请输入一个正整数:")) i=1 count=0 while num>=i: if num % i ==0: count+=1 i += 1 print(count) if count>2: print("不是素数") else: print("素数")
-
判断101-200之间有多少个素数,并输出所有素数。
-
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
- 求1+2!+3!+…+20!的和
-
控制台输出三角形
a.根据n的值的不同,输出相应的形状 n = 5时 n = 4 ***** **** **** *** *** ** ** * * j=0 while j <= 4: n = 4 while n >= j: print("*",end="\t") n=n-1 print() j=j+1 b.根据n的值的不同,输出相应的形状(n为奇数) n = 5 n = 7 * * *** *** ***** ***** ******* j=5 while 0<j: n =5 while n >= j: print(' '*int((j-1)/2),"*",sep='',end="") n=n-1 print(sep="") j=j-2 c. 根据n的值的不同,输出相应的形状 n = 4 1 121 12321 1234321 n = 5 1 121 12321 1234321 123454321
-
输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
num=12345
t=0
for i in str(num):
s=int(i)
t=t+s
print(t)
- 将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = 90
print('90=',end='')
x=2
while True:
if num % x ==0:
num=num/x
print(x,end="")
if num != 1:
print('x',end='')
else:
x+=1
if num==1:
break
- 输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
j=1
while j < 10:
i = 1
while i <= j:
print(f"{i}","*",f"{j}","=",f"{j*i}",sep="",end="\t")
i=i+1
print(end="\n")
j=j+1
- 本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
i = 1
s=10000
while i <=5:
s*=1+0.003
i+=1
print(s)
- 求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
num1=24
num2=66
if num1>num2:
num1,num2=num2,num1
max_gys=num1
while True:
if num1 % max_gys==0 and num2 % max_gys==0:
break
else:
max_gys=max_gys-1
print(max_gys)
num1=24
num2=66
if num1>num2:
pass
else:
num1,num2=num2,num1
max_gbs=num1
while True:
if max_gbs % num1==0 and max_gbs % num2==0:
break
else:
max_gbs=max_gbs+1
print(max_gbs)