Python之for语句及相关练习

  • for循环使用的语法:
    for 变量 in 序列:
    循环要执行的动作

range序列的用法:

range(1,10)##不取尾数,表示1-9
range(1,11,2)##1-11的奇数
range(2,10,2)##2-10的偶数
range(stop)0 --stop-1
range(start,stop)start – stop-1
range(start,stop,step)start – stop-1 step步长

1> 奇数求和

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

2> 偶数求和

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

3> 用户输入一个整型数,这个数的阶乘

 num = int(input ('Num:'))
 res = 1
 for i in range(1,num + 1):
	 res *= i
 print('%d的阶乘是:%d' %(num,res))

  • continue: 跳出本次循环,continue后面的代码不再执行,但是循环没有退出,会依然继续
    break: 跳出整个循环,不会再循环后面的内容
    exit(): 结束程序运行,退出整个程序

(1)break

   for i in range(10):
                    if i == 5:
                         break
                    print(i)
                print('hello world')
        输出的结果为:
        0
        1
        2
        3
        4
        hello world

(2)continue

  for i in range(10):
          if i == 5:
         	     continue
          print(i)
   print('hello world')
   输出的结果为:
   0
   1
   2
   3
   4
   6
   7
   8
   9
   hello world

(3)exit

  for i in range(10):
  	 if i == 5:
  		  print('hello python')
   	 exit()
    	 print(i)
   print('hello world')
   输出的结果为:
   0
   1
   2
   3
   4
   hello python
  • 综合练习

    • 1.有1,2,3,4四个数字,求这四个数字能生成的不相同且无重复数字的三位数
    count = 0
     for a in range (1,5):
         for b in range (1,5):
             for c in range (1,5):
                 if (a != b) and (b != c) and (a != c):
                     res = a*100+b*10+c
                     print(res)
                     count += 1
     print ('生成了%d个无重复三位数' %count)
    
  • 2.用户登录程序

    1.输入用户名和 密码
    2.判断用户名和密码是否正确(name='root',passwd='westos')
    3.登录仅有三次机会,如果超过三次机会,报错提示
      for i in range(3):
          name = input('please input your Name:')
          passwd = input('Please input your Password :')
          if (name == 'root') and (passwd == 'westos'):
              print ('登录成功')
              break
          else:
              print('请重试')
              print('您还有%d次机会' %(2-i))
      else:
          print('已登录失败3次,请稍后重新登录')
    
  • 3.求最大公约数和最小公倍数
    max(num1,num2)求两个数的之间的最大值
    min(num1,num2)求两个数的之间的最小值

          n1 = int(input('请输入第一个数:'))
          n2 = int(input('请输入第二个数:'))
          min_num = min(n1,n2)
          for i in range (1,min_num + 1):
              if (n1 % i == 0 and n2 % i == 0):
                  a = i #最大公约数a
              b = int (n1 * n2) / a #最小公倍数b=(n1 * n2)/a
          print('这两个数的最大公约数是:%d' %a)
          print('这两个数的最小公倍数是:%d' %b)
      
      测试结果:
      请输入第一个数:16
      请输入第二个数:8
      这两个数的最大公约数是:8
    
      这两个数的最小公倍数是:16
      请输入第一个数:10
      请输入第二个数:15
      这两个数的最大公约数是:5
      这两个数的最小公倍数是:30
    

4.模拟命令行

import os
    for i in range(1000):
        cmd = input('[kiosk@python test]$ ')
        if cmd:
            if cmd == 'exit':
                print('logout')
            else:
                print('run %s' %cmd)
                os.system(cmd)
        else:
            continue
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值