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

    昨日内容回顾:

    注释的使用:""      ‘’     #  在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("你试了几次了?臭弟弟!")
  • 相关阅读:
    本地Grails配置与MyEclipse配置
    Linux下Apache James 邮件安装与发送程序
    MyEclipse8.6 安装groovy插件
    系统管理指南:基本管理 第21 章• 使用Sun PatchManager 管理Solaris 修补程序(任务)
    tar.bz2 解压命令。
    系统管理指南:基本管理 索引
    系统管理指南:基本管理 第22 章• 使用patchadd 命令管理Solaris 修补程序(任务)~附录A • SMF 服务
    如何安装gcc
    系统管理指南:基本管理 第20 章• 管理Solaris 修补程序和更新(概述)
    系统管理指南:基本管理 第18 章• 用Solaris 系统管理工具管理软件(任务)
  • 原文地址:https://www.cnblogs.com/stuwu79/p/11577723.html
Copyright © 2011-2022 走看看