zoukankan      html  css  js  c++  java
  • python基础 循环,列表,切片,列表增删改查

    for循环实现用户输入用户名密码,如输入错误3次结束循环。

     1 # _author:  Administrator
     2 # date: 2018/10/11
     3 _user = "admin"
     4 _pass = "12345"
     5 
     6 #flag_passed = False #标志位
     7 for x in range(3):
     8     username = input("username:")
     9     password = input("password:")
    10     if username == _user and password == _pass:
    11         print("welcome %s loging" %_user)
    12         #flag_passed = True
    13         break   #   break 后for循环不会执行else
    14     else:
    15         print("密码输入不正确,请重新输入")
    16 #if not flag_passed:   #判断flag_passed不为真打印下列内容
    17 else: # for循环不被打断,正常执行完毕就会执行else
    18     print("输入的次数过多不要输入了")

    while实现用户输入2次错误之后,提示用户是否继续输入,如继续输入循环继续,如不继续输入循环结束。

     1 # _author:  Administrator
     2 # date: 2018/10/11
     3 _user = "admin"
     4 _pass = "12345"
     5 
     6 count = 0
     7 #for i in range(3):
     8 while count < 2:
     9     username = input("username:")
    10     password = input("password:")
    11     if  username == _user and password == _pass:
    12         print("welcome is %s loging" %username)
    13         break
    14     else:
    15         print("Invalid username or password !")
    16             # else:
    17             #    print("输入的次数过多,请不要继续尝试")
    18     count += 1
    19     print(count)
    20     if count == 2:
    21         count_ci = input("是否继续尝试,Y,继续,N,退出:")
    22         if count_ci == "Y":
    23             count = 0
    24             print(count_ci)
    25 else:
    26      print("输入的次数过多,请不要继续尝试")

     continue:代码实现(结束本次循环,继续下一次循环)

    1 # _author:  Administrator
    2 # date: 2018/10/11
    3 for i in range(1,10):
    4     if i == 5:
    5         continue
    6     else:
    7         print(i)

    for 多循环break: 知识点:定义标志位

     1 # _author:  Administrator
     2 # date: 2018/10/11
     3 # for i in range(1,10):
     4 #     if i == 5:
     5 #         continue
     6 #     else:
     7 #         print(i)
     8 exit_flag = False #定义标志位
     9 for i in range(10):
    10     if i < 5:
    11         continue
    12     print(i)
    13     for j in range(10):
    14         print("打印J:", j)
    15         if j == 6:
    16             exit_flag = True    #退出第一层,将标识位改为True,满足该条件进行退出。
    17             break
    18     if exit_flag:   #第二层退出判断标识位是否未True,如果未True进行退出。
    19         break
    • 列表  元组
    •   整数
          字符串
          列表,元组
              查
                  索引(下标) ,都是从0开始
                  切片
                  .count 查某个元素的出现次数
                  .index 根据内容找其对应的位置
                  "haidilao ge" in a
              增加
                  a.append() 追加
                  a.insert(index, "内容")
                  a.extend 扩展

              修改
                  a[index] = "新的值"
                  a[start:end] = [a,b,c]

              删除
                  remove("内容")
                  pop(index)
                  del a, del a[index]
                  a.clear() 清空

              排序
                  sort ()
                  reverse()

              身份判断
                  >>> type(a) is list
                  True
                  >>>

      列表:【】 msg= 【】

      列表赋值:msg = ['sanpang','xiaohu','ligang','sanpang','dada','xiaoxiao']

      列表取值:print(msg[2])   取值的下标是从0开始的取的1的值就是xiaohu

    •   增删改查:
    • 切片:查

      取中间值:print(msg[1:3]) 取中间值用:连接,1:3代表从1开始第3个值的前一个值结束,头的值包括尾的值不包括。所以取出来的值就是xiaohu,ligang

      执行结果:     

      取开始只之后的所有:print(msg[1:])冒号:后边不加数字代表取1后的所有值

     

      取最后值之前的一个值:print(msg[1:-1])1之后的最后一个值之前的都能取到

    # _author:  Administrator
    # date: 2018/10/11
    msg = ['sanpang','xiaohu','ligang','sanpang','dada','xiaoxiao']
    print(msg[1]) #从0开始,取1的值
    print(msg[1:3]) #从0开始,取1的值取,到第3个之前值的结束
    print(msg[1:-1]) #从0开始,取1的值取,到最后一个值之前的值结束。
    print(msg[1:]) #从0开始,取1的值取,到最后一个值结束。
    print(msg[1:-1:2]) #从0开始,取1的值取,到最后一个值之前的值的值跳着取。
    print(msg[1:-1:1]) #从0开始,取1的值取,到最后一个值之前的一个一个取。
    print(msg[1::2]) #从0开始,取1的值取,到最后一个值,跳着取,隔一个一取。
    print(msg[3::-2]) #从3开始,从右往左走sanpang开始隔一个取一个取到的值为xiaohu,所以结果为sanpang,xiaohu

     1 # _author:  Administrator
     2 # date: 2018/10/11
     3 # msg = ['sanpang','xiaohu','ligang','jinsanpang','dada','xiaoxiao']
     4 # print(msg[1])   #从0开始,取1的值
     5 # print(msg[1:3]) #从0开始,取1的值取,到第3个之前值的结束
     6 # print(msg[1:-1])    #从0开始,取1的值取,到最后一个值之前的值结束。
     7 # print(msg[1:])  #从0开始,取1的值取,到最后一个值结束。
     8 # print(msg[1:-1:2])  #从0开始,取1的值取,到最后一个值之前的值的值跳着取。
     9 # print(msg[1:-1:1])  #从0开始,取1的值取,到最后一个值之前的一个一个取。
    10 # print(msg[1::2])    #从0开始,取1的值取,到最后一个值,跳着取,隔一个一取。
    11 # print(msg[3::-2])   #从3开始,从右往左走sanpang开始隔一个取一个取到的值为xiaohu,所以结果为sanpang,xiaohu
    12 # print(msg[3])
    13 # print(msg[1:3])
    14 # print(msg[2:])
    15 # print(msg[2::2])
    16 # print(msg[2:-1])
    17 # print(msg[1:-1:1])
    18 # print(msg[4::-2])
    19 # msg.append('xuefeng') #默认插入到最后一个位置
    20 # print(msg)
    21 # msg.insert(1,'xuefeng') #insert 有位置查询的,要插入到哪就直接标注。
    22 # print(msg)
    23 
    24 # 修改:
    25 # msg[1] = 'haidilao'   #指定位置内容修改。
    26 # print(msg)
    27 # msg[1:-1:2] = ['fengshan','hulu']   #取多个值进行修改。
    28 # print(msg)
    29 
    30 #删除:remove(列表内置方法:直接删除内容,不可以直接删除下标)  pop(通过索引值下标删除)   del(什么都可以删除,既可以删除固定的内容,还可以把这个对象删除掉)
    31 # msg.remove('dada')
    32 # msg.remove(msg[0])
    33 # print(msg)
    34 # b = msg.pop(1)  #pop会返回一个你已经删除的这个下标的内容,用一个变量接受它可以接收到。
    35 # print(msg)
    36 # print(b)    #返回给我的删除的内容
    37 # del msg[1]
    38 # print(msg)
    39 # del msg     #删除了msg这个对象
    40 # print(msg)  #打印会报错,提示没有这个对象了。
    41 #
    42 # count计算元素出现次数
    43 # a = ['admin','desr','tttt','admin','rest'].count('admin')
    44 # print(a)
    45 # extend 将b列表的内容付给a列表。
    46 # a = [1,2,3]
    47 # b = [4,5,6]
    48 # a.extend(b) # b列表的内容付给a
    49 # print(a)
    50 # print(b)    # 只是给b列表的内容付给a列表,b列表中的内容并没有变。
    51 # index 根据内容找位置
    52 # msg = ['sanpang','xiaohu','ligang','jinsanpang','dada','ligang','xiaoxiao']
    53 # print(msg.index('ligang'))
    54 # 列表中两个一样的内容,取第二个内容的操作用方法
    55 # list_lg = msg.index('ligang')
    56 # print("第一个ligang位置:",list_lg)
    57 # list_lg_x = msg[list_lg+1:].index('ligang')
    58 # print("小列表ligang位置:",list_lg_x)
    59 # list_lg_d = list_lg+list_lg_x+1
    60 # print("第二个ligang位置:",list_lg_d)
    61 #将列表的内容倒序输出
    62 # msg = ['sanpang','xiaohu','ligang','jinsanpang','dada','ligang','xiaoxiao']
    63 # msg.reverse()
    64 # print(msg)
    65 #sort 列表内容排序
    66 msg = [1,5,6,3,3,2,9]
    67 msg.sort(reverse=True)  #倒序输出
    68 print(msg)列表,切片 
    列表切片,增删改查练习

     列表嵌套:

      例:

    1 a = [['a','b','c','d','e'],1,2,3,4,5,('ad','cd')]
    2 print(a[0][1])
    3 #取出来的值是b
    4 #分解:
    5 b = a[0]
    6 print(b[1])
  • 相关阅读:
    C++函数参数传参的本质解析
    C#值类型和引用类型详解
    C#学习笔记(转换)
    C#学习笔记(泛型)
    # Java反射2——获取实体所有属性和方法,并对属性赋值
    Java反射1——扫描某个包下的所有类
    JSR教程2——Spring MVC数据校验与国际化
    JSR教程1——JSR 303
    Github如何撤销提交并清除痕迹
    论文第5章:Android绘图平台的实现
  • 原文地址:https://www.cnblogs.com/szc113/p/9773851.html
Copyright © 2011-2022 走看看