1、for循环
    
   
    
     break结束循环
    
    
     continue 终止本次循环,并开启下一次循环 控制循环结构执行
    
   
    
     pass 占位
    
    让程序什么都不做 #while True:
   
    if 1 == 1:
   
    pass
   
    
     for循环 作用 用来遍历可迭代对象的数据元素
    
   
    
     遍历是指经历且只经历一遍
    
    
    
    
    可迭代对象 是指能够依次获取数据元素的对象
    
    比如列表、元组  、字符 、 字典
    
    
    
    
     语法
     
     for 变量列表 in 可迭代对象:
     
     语句块
     
     else:
     
     语句块
    
   
    #使用循环生成列表元素 x = 1 L1=[]
   
    while x <= 6: name = input(“请输入的名字”)
   
    L1.append(name) x +=1 #使用for循环输出列表元素
   
    for i in L1: print(i) #print(“tarena”)
   
    #使用while循环输出列表元素 #y = 0 #while y < len(L1):
   
    print(L1[y])
   
    y += 1
   
    else可以省略
    
    
    
    for 变量列表 in 可迭代对象:
    
    语句块
   
    s = ‘ABCDE’ for x in s: print(‘x=’, x) else: print(“遍历结束”)
   
    
     2、range()函数的使用
    
   
    
     格式 range(起始数字 , 结束数字 ,步长)
    
   
    使用for循环把 192.168.4.0/24 网段所有主机ip地址输出
   
    for i in range(1,256):
   
    print(“192.168.4.”,i,sep=””) x = 1
   
    while x <= 255: print(“192.168.4.”,x,sep=””) x += 1
   
    假设一个用户信息如下: 用户名是:root 密码是: 123456 写一个身份验证的程序,让用户输入用户名和密码登录, 用户名和密码全部匹配,提示登录成功。 否则继续,最多尝试3次。3次不匹配以后提示登录失败.
   
    times = 0 # 用来记录循环次数 while times < 3:
   
    name = input(‘请输入用户名:’) passwd = input(‘请输入密码: ‘)
   
    if name != ‘root’ or passwd != ‘123456’:
   
    print(‘输入有错请重新输入’)
   
    times += 1 continue print(“登陆成功!”)
   
    break else: print(‘登陆失败!’)
   
    
     循环嵌套 输出乘法表
    
   
    vim cf.py
   
    j = 1
   
    while j <= 9:
   
    i = 1
   
    while i <= j: k=i
    
     j
    
   
    
     print(i,”
    
    “,j,”=”,k,end=” “)
   
    i += 1
   
    j += 1
   
    print()
   
    [root@dc code]# python3 cf.py
   
    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
   
    
     斐波那契数列
    
    (后边的数 总是前2个数相加的和)
   
    [root@teacher code]# cat fb.py
   
    a = 0 b = 1
   
    for i in range(10):
   
    print(a) a,b = b,a+b
   
    [root@dc code]# python3 fb.py
   
    0
   
    1
   
    1
   
    2
   
    3
   
    5
   
    8
   
    13
   
    21
   
    34
   
    
     数据数据模块的使用
    
   
    import
    
     random
    
   
    player = int(input(“请输入 0剪刀 1石头 2布 :”))
   
    computer = random.randint(0,2)
   
    print(“电脑的选择是:”,computer) if (player ==0 and computer ==2) or (player ==1 and computer ==0) or (player==2 and computer ==1): print(“赢了”)
   
    elif player==computer: print(“平局”)
   
    else : print(“输了”)
   
    [root@dc code]# python3 game.py 请输入 0剪刀 1石头 2布 :0 电脑的选择是: 2 赢了 [root@dc code]# python3 game.py 请输入 0剪刀 1石头 2布 :1 电脑的选择是: 0 赢了
   
    
     文件管理
    
   
    
     文件迭代*
    
    *
   
    逐行处理文件,可以结合for循环
   
    
     *
    
    
     read读取字节到字符串中,不指定默认读到文件末尾,一次读取完放到变量中
     
      *
     
    
   
f.read()读取所有
readline读取文件第一行,依次输出,一次读取一行
f.readline()读取一行
f.close() 关闭文件
readlines读取所有行,放到列表中
f.readlines() […………]读取所有,放入列表
    [root@dc code]# head -5 /etc/passwd > a.txt
   
    f = open(“/root/code/a.txt”,’r’)
   
    data = f.readlines() for x in data: print(x)
   
    [root@dc code]# python3 3.1.py root:x:0:0:root:/root:/bin/bash
   
    binx:1:1:bin:/bin:/sbin/nologin
   
    daemonx:2:2:daemon:/sbin:/sbin/nologin
   
    adm:x3:4:adm:/var/adm:/sbin/nologin
   
    lp:x4:7:lp:/var/spool/lpd:/sbin/nologin
   
    **
   
    
     
      文件输出
     
    
   
    
     write()向文件中写入内容
    
   
    
     w 如果没有源文件会自动创建,如果有清空内容在写入
    
   
    python3
   
    f=open(‘/root/code/a.txt’,’w’) f.write(‘12345678\n’) 9 f.close()
   
    12345678
   
    
     writelines()项文件写入内容
    
   
    python3
   
    f=open(‘/root/code/a.txt’,’a’) f.writelines([‘abc\n’,’bnjk\n’])
   
    f.writelines([‘abc\n’,’bnjk\n’]) f.writelines([‘abc\n’,’bnjk\n’]) f.close()
   
    12345678 abc bnjk abc bnjk abc bnjk
   
    
     文件内移动
    
   
    
     seek(offset[,whence]:)移动指针到不同位置
    
   
    
     #(偏移量,光标位置)0代表开头,2代表末尾,1代表当前
    
   
    
     
      f.seek(0,0) 光标回到开头
     
    
   
    
     
      f.seek(0,2) 光标回到末尾*
     
     *
    
   
    
     
      tell()返回当前文件指针位置
     
    
   
    f=open(‘/root/code/a.txt’,’r+’)
   
    
     f.tell()
    
    0
   
    
     f.seek(0,2)
    
    36
   
    f.tell() 36 f.read() ”
    
     f.seek(0,0)
    
    0 f.read(5) ‘12345’
   
    
     with子句
    
   
    
     读完文件,自动关闭文件
    
   
    》》》with open(‘/root/code/a.txt’,’r’) as asdf: … data = asdf.readlines() …
   
    》》》asdf.closed True
   
    
     
      用Python实现对文件拷贝
     
    
   
    [root@dc code]# vim cp.py
   
    [root@dc code]# python3 cp.py
   
    f1 = open(‘/bin/ls’,’rb’)
   
    f2 = open(‘/root/ls’,’wb’)
   
    data = f1.read() f2.write(data)
   
    f1.close()
   
    f2.close()
   
    [root@dc code]# ls /root/ls
   
    /root/ls
   
 
版权声明:本文为HYJW01原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
