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.模拟命令行

扫描二维码关注公众号,回复: 5660116 查看本文章
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

猜你喜欢

转载自blog.csdn.net/qq_44224894/article/details/88728064
今日推荐