python笔记之while和for循环练习

实例1

输入n个数,求每次输入后的算术平均数。

sum = 0 #总和
count = 0 #计数
while True:
     n = input("请输入一个数:")
     if n == "exit":
          break
     sum+=int(n) #总和
     count +=1 #计数
     avg = sum/count #平均值
print("平均数为:"+str(avg))

运行结果:

请输入一个数:1  
请输入一个数:2  
请输入一个数:3  
请输入一个数:exit  
平均数为:2.0  
实例2

打印闪电

for i in range(-3,4):
    if i<0:
        print(" "*(-i)+"*"*(4+i))
    elif i>0:
        print(" "*3 + "*"*(4-i))
    else:
        print("*"*7)

运行结果:

   *
  **
 ***  
*******
   ***
   **
   *
实例3

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列

for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if (i != j) and (i != k) and (j != k):
                print(i,j,k)  

运行结果:

1 2 3
1 2 4
1 3 2
1 3 4
1 4 2
1 4 3
2 1 3
2 1 4
2 3 1
2 3 4
2 4 1
2 4 3
3 1 2
3 1 4
3 2 1
3 2 4
3 4 1
3 4 2
4 1 2
4 1 3
4 2 1
4 2 3
4 3 1
4 3 2  
实例4

随机数进行猜数游戏

import random
ran = random.randint(1,11)
while True:
    temp = input("请输入一个数:")
    if temp.isdigit():
        guess = int(temp)
        if guess == ran:
            print("对了")
            break
        elif guess > ran:
              print("大了")
              continue
        else:
            print("小了")
            continue
    else:
        print("请输入数字!")  

运行结果:

请输入一个数:ff
请输入数字!
请输入一个数:1
小了
请输入一个数:5
小了
请输入一个数:10
对了  
实例5

打印乘法表

方法一:for 循环

for i in range(1,10):
    for j in range(1,i+1):
        print("{}*{}={}\t".format(j,i,j*i),end="")
    print()  

方法二:while 循环

j =1
while j<=9:
    i =1
    while i<=j:
        print("%dx%d=%d"%(i,j,i*j),end="\t")
        i+=1
    print()
    j+=1

运行结果:

1*1=1
1*2=2   2*2=4
1*3=3   2*3=6    3*3=9
1*4=4   2*4=8    3*4=12 4*4=16
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值