字符格式化输入,对个人信息的输入输出操作,对列表和元组的增删改查和一些基本的方法。

昨日内容回顾:

 

注释的使用:""      ‘’     #  在python中双,单引号的意义是一样的

全注释 :ctrl + ?

      例如:"hello,it's me!"

 

缩进

 

 

本节内容的简介:

  

集成开发环境(IDE):

    VIM #经典linux下的文本编辑器

    Emacs # linux文本编辑器,比Vim更容易

    Eclipse #JAVA IDE,支持 python.c.c++等

    Visual Studio # 微软开发的IDE

    notepad++

    sublime python开发的

    Pycharm # 主要用于pycharm开发

Pycharm的使用

  学会创建自己的项目以及一些基本的设置操作

 

基本知识点:

 continue:

    结束本次循环之间开始下一次循环

占位符:

  %s           s=string

  %d      d=digit整数

  %f       f=float浮点数,约等于小数

 

字符格式化输出

  

for

while

break,continue

数据类型

  整数

  字符串

  列表,元组

    购物车程序

  字典

    三级菜单

对个人信息的输入输出:

这里涉及到对.format的使用

f=(a,b,c,....)

msg='''

  a={]

  b={}

  c={}

  ...

'''.format(*f)

或者用占位符:

 

ms=(name,name,age,job,salary,str(65-age))

msg = '''
--------------info of %s-----------
name = %s
age = %d
job = %s
salary = %d
you will retired after %s years
------------------end-----------------
'''%(ms)

 

 1 #_auther_="stuwu79"
 2 #date:2019/9/24
 3 name = input("name:")
 4 age = int(input("age:"))
 5 job = input("job:")
 6 salary = input("salary:")
 7 
 8 if salary.isdigit():  #判断输入的salary是不是数字
 9     salary=int(salary)
10 else:
11     exit("must input digit")
12 
13 ms=(name,name,age,job,salary,str(65-age))
14 
15 msg = '''
16 --------------info of {}-----------
17 name = {}
18 age = {}
19 job = {}
20 salary = {}
21 you will betired after {} years
22 ------------------end-----------------
23 '''.format(*ms)
24 
25 print(msg)

 

数据运算:

  type()查看数据类型

数据类型的初识:

    数字

      整数:int(integer)

        整型和长整型 (py3中不区分统一叫整型)

      浮点型:float

    复数:complex   (5+4j)与数学中不同

    布尔:  只有两种状态

        真True

        假False

    字符串:

      salary.isdigit()

一切皆为对象,一切对象皆可分类。      

 

列表和元组:

(1)查找:

查询某个内容在不在a中:

  print("haidilaoge"  in  a)

  结果:False不在 

     True在 

a[x:y:z]            x表示开始位置,y表示结束位置,z表示步长

 1 #_auther_="stuwu79"
 2 #date:2019/9/24
 3 
 4 # name1 = "wuchao1"
 5 # name2 = "wuchao2"
 6 # name3 = "wuchao3"
 7 # name4 = "wuchao4"
 8 #
 9 # names="wuchao1 wuchao2 wuchao3 wuchao4"
10 
11 a=['wuchao1','wuchao2','wuchao3','wuchao4']
12 #彼此之间有位置关系
13 
14 
15 #增删改查
16 
17 #要取到最后:-1
18 #要取到倒数第二个:1
19 #a[1:-1:x]x表示的是步长
20 #步长是有方向的,从右向左带负号
21 
22 #切片
23 # print(a[1:2])#取头不取尾
24 # print(a[1:])#从第二个位置一直取下去
25 # print(a[1:-1])#(最后一个不取)从第二个位置一直取下去,直到倒数第二个位置停止
26 # print(a[1:-1:1])#从左到右一个一个的去取
27 # print(a[1::2])#一直取到最后,从左到右,隔一个去取
28 print(a[3::-1])
29 b=a[3::-1]
30 print(b)
31 # print(a[1:-1:-2])

 

(2)增加

   append     默认插到最后的一个位置 (追加)                       insert相对更加灵活,将数据插入到任意一个位置

 例如:

  a.append("添加的内容的值")

     a.insert(x,"添加的内容的值")                       x表示插入的位置

(3)修改

   a[1]="wuchao999"                          替换成功

   a[1::3]=["wuchao22222","wuchao33333"]           替换位置是1和2的两个数据

  

(4)删除

  remove          pop           del

  remove("对应得要删除的内容")                            不可以按位置删

  b=a.pop(1)                          按位置删除内容(可以用另一个变量去接收这个被删的值)

    如果a.pop()    不指定默认删除最后一个

  del a[0]             万物皆可删                          del a                       可删固定的内容也可以删整个变量

 

 (5)其他操作

  count方法    统计某个元素在列表中出现的次数:

  例如:

    t = ["to","to","is","are"].count("to")

    print(t)

  extend方法    将b中的所有元素加入到a中且对b没有影响

    a = [1,2,3]

    b = [4,5,6]

    a.extend(b)

    print(a)

    print(b)                                   结果:[1,2,3,4,5,6]

                    [4,5,6]

    index方法       知道内容但是不知道具体内容的位置

  

    a=["wuchao33333","wuchao1","wuchao2"]

    a.index("wuchao33333")

    print(a.index("wuchao33333"))

  结果是:0

  思考题:如果列表中有两个同名的内容,如何跳过第一个,成功的找到第二个。

    

  reverse方法   整个内容倒叙

    a = [1,2,3,4]

    a.reverse()

    print(a)

  结果是:4,3,2,1

  sort方法       从小到大排序(默认sort中的reverse=False)

         实现从大到小排序x.sort(reverse=True)

    x = [4,21,2,3,5,]

    x.sort()

    print(x)

  结果是:[2,3,4,5,21]

  身份判断:

  type(a) is list                                            结果是:True 

                        或者False

Login登录功能:

(1)可以无限输入账号密码

 1 #_auther_="stuwu79"
 2 #date:2019/9/24
 3 _user = "stuwu"
 4 _passwd = "abc123"
 5 
 6 username = input("Username:")
 7 password = input("Password:")
 8 
 9 if username == _user and password == _passwd :
10     print("Welcome %s login---"%username)
11 else:
12     print("Invalid username or password")

(2)只可以尝试3次输入账号密码

 1 #_auther_="stuwu79"
 2 #date:2019/9/24
 3 _user = "stuwu"
 4 _passwd = "abc123"
 5 passed_authentication = False    #通过认证(默认为假)
 6 
 7 for i in range(3):
 8     username = input("Username:")
 9     password = input("Password:")
10 
11     if username == _user and password == _passwd :
12         print("Welcome %s login---"%_user)
13         passed_authentication = True
14         break
15     else:
16         print("Invalid username or password!")
17 
18 
19 if  not  passed_authentication :#如果没通过验证,打印下面的语句
20     print("你试了几次了?臭弟弟!")

(3)改进版本

 1 #_auther_="stuwu79"
 2 #date:2019/9/24
 3 # _user = "stuwu"
 4 # _passwd = "abc123"
 5 # passed_authentication = False    #通过认证(默认为假)
 6 #
 7 # for i in range(3):
 8 #     username = input("Username:")
 9 #     password = input("Password:")
10 #
11 #     if username == _user and password == _passwd :
12 #         print("Welcome %s login---"%_user)
13 #         passed_authentication = True
14 #         break
15 #     else:
16 #         print("Invalid username or password!")
17 #
18 #
19 # if  not  passed_authentication :#如果没通过验证,打印下面的语句
20 #     print("你试了几次了?臭弟弟!")
21 _user = "stuwu"
22 _passwd = "abc123"
23 
24 for i in range(3):
25     username = input("Username:")
26     password = input("Password:")
27     if username == _user and password == _passwd :
28         print("Welcome %s login---"%_user)
29         break#brenak跳出循环 ,最下面的else就不会执行
30     else:
31         print("Invalid username or password!")
32 
33 else:#只要上面的for循环语句正常执行完毕,才会执行下面的语句
34     print("你试了几次了?臭弟弟!")

 

FOR 循环的使用:

  关于range(x)和range(1,x)的使用 range(1,x,y)y为步长

(1)循环输出1到10

1 for i in range(10)
2     print("loop:"i)
(补充)打印1到20和70到100之间的整数
1 for i in range(1,101):
2     if i<50 or i > 70:
3         print(i)

(2)

1 for i in range(1,101):
2     if i%2==0:
3         print("loop:",i)#输出1到100的偶数

(3)

1 #_auther_="stuwu79"
2 #date:2019/9/24
3 
4 for i in range(1,101,2):
5         print("loop:",i)#输出1到100的奇数

无限循环:(while)

输入超过3次之后,提示是否继续输入账号密码。

 1 _user = "stuwu"
 2 _passwd = "abc123"
 3 counter = 0
 4 while counter < 3:
 5     username = input("Username:")
 6     password = input("Password:")
 7     if username == _user and password == _passwd :
 8         print("Welcome %s login---"%_user)
 9         break#brenak跳出循环 ,最下面的else就不会执行
10     else:
11         print("Invalid username or password!")
12     counter += 1
13     if counter ==3 :
14         keep_going_choice = input("还玩不?(Y/N)")
15         if keep_going_choice == "Y" :
16             counter = 0
17 else :
18             print("你试了几次了?臭弟弟!")

 

posted @ 2019-09-24 22:30  戚玖  阅读(256)  评论(0编辑  收藏  举报