小菜鸟的python进阶之路 ------- for循环和while循环练习

一、for循环

  • for循环的语法
  • break,continue,exit()

1.for循环的语法

for 循环使用的语法
    for 变量 in range(10):
        循环需要执行的代码


range
range(start,stop,step):start-stop-1,步长step


2.break,continue,exit()的区别

break:跳出循环
continue:跳过此次循环
exit():退出程序

break,continue练习

for i in range(10):
    if i == 5:
        # continue
        # break
        exit()
    print(i)

print('hello python')

 

练习1:求1~100之间所有偶数之和

sum = 0
for i in range(2,101,2):
    sum += i
print(sum)


练习2:求1~100之间所有奇数之和

sum1 = 0
for i in range(1,101,2):
    sum1 += i
print(sum1)


练习3.求阶乘

num = int(input("请输入一个数:"))
jc = 1

for i in range(1,(num+1)):
    jc *= i
print(jc)

 

练习4.在1,2,3,4四个数组数,要求不能重复

sum = 0
for i in (1,2,3,4):
    for j in (1,2,3,4):
        for k in (1,2,3,4):
            if i != j and j!= k and i != k:
                sum += 1

print(sum)

 

练习5.用户登录需求

   1.输入用户名和密码
   2.判断用户名和密码是否不正确
   3.登录仅三次机会,超过3次会出错

user_count = 0
passwd_count = 0

for i in range(3):
    username = input("请输入用户名:")
    if username == "root":
        for j in range(3):
            passwd = input("请输入密码:")
            if passwd == "westos":
                print("登录成功!!")
                break
            else:
                print("密码错误,请重新输入!!")
                passwd_count += 1
                if passwd_count >= 3:
                    print("ERROR!!")
                    break
    else:
        print("您不是合法的用户,请输入新的用户名!!")
        user_count += 1
        if user_count >= 3:
            print("ERROR!!")
            break

    if (user_count == 0 and passwd_count == 0) or  passwd_count == 3:
        break


练习6.实现命令提示符

import os

for i in range(10000):
    cmd = input("[kiosk@haha ~]$ ")
    if cmd == 'logout':
        break
    else:
        os.system(cmd)

 

练习7.求两个数的最大公约数和最小公倍数

print("请输入两个数:")
num1 = int(input())
num2 = int(input())

min_num = min(num1,num2)

max_gy = 1

#最大公约
for i in range(1,(min_num+1)):
    if num1 % i == 0 and num2 %i == 0:
        max_gy = i
#最小公倍
min_gb = (num1 * num2) /max_gy

print("%d和%d的最大公约数是%d,最小公倍数是%d"%(num1,num2,max_gy,min_gb))

 

二、while

while 条件():
    条件满足时,做的事情1
    条件满足时,做的事情2
    .....

 

练习1.求0~100之间的奇数求和

i = 0
sum = 0

while i<= 100:
    if i%2 == 1:
        sum += i
    i += 1
print("0~100之间的所有奇数的和为%d" %sum)

 

练习2.打印9*9乘法表

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    


for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%d\t"%(j,i,i*j),end='')
    print()


练习3.数字游戏

1.系统随机生成一个1~100的数字
2.用户共有5次机会猜出的数字大于系统给出的数字,打印"too big"
3.用户共有5次机会猜出的数字小于系统给出的数字,打印"too small"
4.用户共有5次机会猜出的数字=系统给出的数字,打印"恭喜中奖!",并退出循环


import random

num = random.randint(1,100)
print(num)
i = 1
while i <= 5:
    ans = int(input("请猜数:"))
    if ans > num:
        print("too big,还剩%d次机会"%(5-i))
    elif ans < num:
        print("too small,还剩%d次机会"%(5-i))
    else:
        print("恭喜中奖!!!")
        break
    i += 1

 

 

你可能感兴趣的:(小菜鸟的python进阶之路)