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])

 

posted on 2018-10-11 17:31  子非鱼的  阅读(466)  评论(0编辑  收藏  举报