day4- 循环作业 (1)

基础题

  1. 使用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


  1. 使用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 %3
0:
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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值