基础题
- 使用for和while循环输出 0~100内所有3的倍数。
print (’==第一题=’)
方法一
for num in range(0,100,3):
print (num)
while 循环
print (‘12’)
num=0 #保存3的倍数,默认是0
while True:
#打印3的倍数
print (num)
num+=3
if num >=100:
break
-
使用for和while循环输出100~200内个位数或者十位数能被3整除的数。
for num in range(100,200):
if num % 10 %30 or num // 10%10%30:
print (num)
for num in range(100,200):
ge=num%10
if ge%30:
print (num)
continue
shi=num//10%10
if shi %30:
print (num)
print (‘22’)
num=100
while True:
if num%10%30 or num//10%10%30:
print (num)
num+=1
if num>=200:
break
6. 统计100~200中十位数是5的数的个数
ount=0
for num in range(150,160):
count+=1
print (count)
7. 打印50~150中所有能被3整除但是不能被5整除的数
print ('41')
for num in range(51,150,3):
if num %5!=0:
print (num)
8. 计算50~150中所有能被3整除但是不能被5整除的数的和
print ('51')
sum1=0
for num in range(51,150,3):
if num % 5!=0:
sum1+=num
print (sum1)
### 进阶题
1. 使用循环计算`1*2*3*4*...*10`的结果。
print ('2.1.1')
sum1=1
for num in range(1,11):
sum1*=num
print (sum1)
2. 统计100以内个位数是2并且能够被3整除的数的个数。
count=0
for num in range(2,100,10):
if num % 3==0:
count+=1
print (num)
print ('个数:',count)
3. 输入任意一个正整数,求他是几位数?
```注意: 这儿不能使用字符串,只能用循环```
nput('请输入一个正整数:')
count=0
while True:
num//=10
count+=1
if num ==0:
break
print (count)
4. 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字⽴方和等于该数本身。例如:153是
⼀个⽔仙花数,因为 `1³ + 5³ + 3³ ` 等于 153。
### 挑战题
1. 判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
print ('31')
num=78
for x in range(2,num): #(2,int(num**0.5)+1)
if num % x == 0:
print (num,'不是素数')
break
else:
print (num,'是素数')
2. 求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34.... (这儿的n可以是任意正整数,可以通过输入来确定)
pre_1=1
pre_2=1
n=9
if n==1 or n==2:
print (1)
else:
for x in range(n-3):
pre_1,pre_2=pre_2,pre_1+pre_2
print (pre_1+pre_2)
3. 输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
for row in range(1,10):
for col in range(1,row+1):
print(col,'×',row,'=',row*col,end=' ',sep='')
print()
4. 这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?(可以直接使用穷举法)f
for big in range(100//3+1):
for middie in range(50):
small=100-big-middie
if big*3+middie*2+small/2==100:
print(big,middie,small)