Python--循环语句for和while

    xiaoxiao2023-11-02  135

    一.for循环语句 1.语法结构 for 变量 in 序列: 循环需要执行的代码 else: 全部循环结束后要执行的代码 2.应用 (1)求1~100之和

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

    (2)求1~100的奇数和

    sum = 0 for i in range(1,101,2): ##range(start,stop+1,step) sum += i print(sum)

    (3)求1~100的偶数和

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

    (4)求数字的阶乘

    num = int(input('请输入数字:')) res = 1 for i in range(1,num+1): res *= i print(res)

    (5)用户登陆程序 输入用户名和密码 判断用户名和密码是否正确(‘name==root’,'passwd=‘westos’) 为了防止暴力破解,登陆次数仅有三次,如果超过三次机会,报错

    for i in range(1,4): name = input('Please input username:') passwd = input('Please input password:') if name == 'root' and passwd == 'redhat': print('登录成功!!') break else: print('登录失败!!') print('您还有%d次机会!!' %(3-i)) else: print('登录次数超过3次,请40s后重试!!')

    break continue exit的区别 break:跳出整个循环,不会再循环后面的内容 continue:跳出本次循环,continue后面代码不会执行, 但是循环依然继续的 exit():结束程序的运行 (6)命令行提示符的实现

    import os for i in range(1000): cmd = input('[test@foundation]') if cmd: if cmd == 'exit': print('logout') break else: print('run %s' %(cmd)) os.system(cmd) ##运行命令 else: continue

    结果测试:

    [kiosk@foundation4 ~]$ /usr/local/python3/bin/python3 /home/kiosk/PycharmProjects/0525/02.py [test@foundation] [test@foundation] [test@foundation]ls run ls Deskto Documents passwd pycharm-community-2016.3.2 Templates desktop Downloads Pictures pycharm-community-2016.3.2.tar.gz Videos Desktop Music Public PycharmProjects [test@foundation]pwd run pwd /home/kiosk [test@foundation]exit logout [kiosk@foundation4 ~]$

    (7)输入两个数值:求两个数的最大公约数和最小公倍数. 最小公倍数=(num1*num2)/最大公约数

    num1 = int(input('Num1:')) num2 = int(input('Num2:')) min_num = min(num1,num2) for i in range(1,min_num+1): if num1%i == 0 and num2%i == 0: 最大公约数 = i 最小公倍数 = int(num1*num2/最大公约数) print('%d与%d的最大公约数为%d' %(num1,num2,最大公约数)) print('%d与%d的最小公倍数为%d' %(num1,num2,最小公倍数))

    二.while循环语句 1.语法结构 while 条件满足: 满足条件执行的语句 else: 不满足条件执行的语句 2.应用 (1) 输入用户名和密码,判断用户名和密码是否正确,为了防止暴力破解,登陆次数仅有三次,如果超过三次机会,报错

    i = 0 while i < 3: name = input('username:') passwd = input('password:') if name == 'root' and passwd == 'redhat': print('登录成功') break else: print('登录失败') print('您还有%d次机会' %(2-i)) i += 1 else: print('3次机会用完,请40s后重试')

    (2)利用while嵌套结构输出9*9乘法表 方法1

    row = 1 while row <= 9: col = 1 while col <=row: print('%d * %d = %d\t' %(row,col,row*col),end = ' ') col += 1 print('') row += 1 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81

    方法2

    row = 9 while row >= 1: col = row while col >= 1: print('%d * %d = %d\t' %(row,col,row*col),end = ' ') col -= 1 print('') row -= 1 9 * 9 = 81 9 * 8 = 72 9 * 7 = 63 9 * 6 = 54 9 * 5 = 45 9 * 4 = 36 9 * 3 = 27 9 * 2 = 18 9 * 1 = 9 8 * 8 = 64 8 * 7 = 56 8 * 6 = 48 8 * 5 = 40 8 * 4 = 32 8 * 3 = 24 8 * 2 = 16 8 * 1 = 8 7 * 7 = 49 7 * 6 = 42 7 * 5 = 35 7 * 4 = 28 7 * 3 = 21 7 * 2 = 14 7 * 1 = 7 6 * 6 = 36 6 * 5 = 30 6 * 4 = 24 6 * 3 = 18 6 * 2 = 12 6 * 1 = 6 5 * 5 = 25 5 * 4 = 20 5 * 3 = 15 5 * 2 = 10 5 * 1 = 5 4 * 4 = 16 4 * 3 = 12 4 * 2 = 8 4 * 1 = 4 3 * 3 = 9 3 * 2 = 6 3 * 1 = 3 2 * 2 = 4 2 * 1 = 2 1 * 1 = 1

    方法3

    row = 1 while row <= 9: col = 1 while col >= 9: print('%d * %d = %d\t' %(row,col,row*col),end = ' ') col -= 1 print('') row += 1 1 * 1 = 1 2 * 2 = 4 2 * 1 = 2 3 * 3 = 9 3 * 2 = 6 3 * 1 = 3 4 * 4 = 16 4 * 3 = 12 4 * 2 = 8 4 * 1 = 4 5 * 5 = 25 5 * 4 = 20 5 * 3 = 15 5 * 2 = 10 5 * 1 = 5 6 * 6 = 36 6 * 5 = 30 6 * 4 = 24 6 * 3 = 18 6 * 2 = 12 6 * 1 = 6 7 * 7 = 49 7 * 6 = 42 7 * 5 = 35 7 * 4 = 28 7 * 3 = 21 7 * 2 = 14 7 * 1 = 7 8 * 8 = 64 8 * 7 = 56 8 * 6 = 48 8 * 5 = 40 8 * 4 = 32 8 * 3 = 24 8 * 2 = 16 8 * 1 = 8 9 * 9 = 81 9 * 8 = 72 9 * 7 = 63 9 * 6 = 54 9 * 5 = 45 9 * 4 = 36 9 * 3 = 27 9 * 2 = 18 9 * 1 = 9

    方法4

    row = 9 while row >= 1: col = row while col >= 1: print('%d * %d = %d\t' %(row,col,row*col),end = ' ') col -= 1 print('') row -= 1 9 * 9 = 81 9 * 8 = 72 9 * 7 = 63 9 * 6 = 54 9 * 5 = 45 9 * 4 = 36 9 * 3 = 27 9 * 2 = 18 9 * 1 = 9 8 * 8 = 64 8 * 7 = 56 8 * 6 = 48 8 * 5 = 40 8 * 4 = 32 8 * 3 = 24 8 * 2 = 16 8 * 1 = 8 7 * 7 = 49 7 * 6 = 42 7 * 5 = 35 7 * 4 = 28 7 * 3 = 21 7 * 2 = 14 7 * 1 = 7 6 * 6 = 36 6 * 5 = 30 6 * 4 = 24 6 * 3 = 18 6 * 2 = 12 6 * 1 = 6 5 * 5 = 25 5 * 4 = 20 5 * 3 = 15 5 * 2 = 10 5 * 1 = 5 4 * 4 = 16 4 * 3 = 12 4 * 2 = 8 4 * 1 = 4 3 * 3 = 9 3 * 2 = 6 3 * 1 = 3 2 * 2 = 4 2 * 1 = 2 1 * 1 = 1
    最新回复(0)