• Python基础二


    一. 格式化输出

    现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下

    ------------ info of 辉煌  -----------
    Name  : 辉煌
    Age   : 26
    job   : IT
    Hobbie: eat
    ------------- end -----------------

    你怎么实现呢?你会发现,用字符拼接的方式还难实现这种格式的输出,所以一起来学一下新方法

    只需要把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好

    name = input("Name:")
    age = input("Age:")
    job = input("Job:")
    hobbie = input("Hobbie:")
    
    info = '''
    ------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name 
    Name  : %s  #代表 name 
    Age   : %s  #代表 age  
    job   : %s  #代表 job 
    Hobbie: %s  #代表 hobbie 
    ------------- end -----------------
    ''' %(name,name,age,job,hobbie)  # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来 
    
    print(info)

    %s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字

    age     : %d

    我们运行一下,但是发现出错了

    说%d需要一个数字,而不是str, what? 我们明明输入的是数字呀,22,22呀。

    不用担心 ,不要相信你的眼睛我们调试一下,看看输入的到底是不是数字呢?怎么看呢?查看数据类型的方法是什么来着?type()

    name = input("Name:")
    age = input("Age:")
    print(type(age))

    执行输出:

    Name:yhh
    Age:26
    <class 'str'> #怎么会是str
    Job:IT

    input接收的所有输入默认都是字符串格式!

    要想程序不出错,那怎么办呢?简单,你可以把str转成int

    age = int(  input("Age:")  )
    print(type(age))

    肯定没问题了。相反,能不能把字符串转成数字呢?必然可以,str( yourStr )

    问题:现在有这么行代码

    msg = "我是%s,年龄%d,目前学习进度为30%"%('yhh',18)
    print(msg)

    这样会报错的,因为在格式化输出里,你出现%默认为就是占位符的%,但是我想在上面一条语句中最后的30%就是表示30%而不是占位符,怎么办?

    msg = "我是%s,年龄%d,目前学习进度为30%%"%('yhh',18)
    print(msg)

    这样就可以了,第一个%是对第二个%的转译,告诉Python解释器这只是一个单纯的%,而不是占位符。

     二. 流程控制之--while循环

    Why:在生活中,我们遇到过循环的事情吧?比如吃饭睡觉工作,循环听歌等等。在python程序中,循环也是存在的。

    What:那么这个循环在Python中就是流程控制语句while。

    2.1,基本循环

    while 条件:
         
        # 循环体
     
        # 如果条件为真,那么循环体则执行
        # 如果条件为假,那么循环体不执行

    2.2 演示生活中循环

    while True:
        print('起床')
        print('洗漱')
        print('吃饭')
        print('睡觉')

    那么大家都看到了,while循环他的执行结果就是这样一直循环,只要人不死,直至天荒地老。

    2.3 如何终止循环

    1. 改变条件(根据上面的流程,只要改变条件,就会终止循环)。
    2. 关键字:break。
    3. 调用系统命令:quit(),exit() 后面会讲到,不建议大家使用。
    4. 关键字:continue(终止本次循环)

    2.3.1 终止循环的第一个方法:利用改变条件,终止循环

    flag = True
    while True:
        print('起床')
        print('洗漱')
        print('吃饭')
        flag = Flase
        print('睡觉')
    1 count = 1
    2 flag = True
    3 while flag:
    4     print(count)
    5     count = count + 1
    6     if count == 101:
    7         flag = False
    输出1~100所有的数字
     1 '''
     2 思路:你要想从1+2+3......+100一直加到100,那么最起码你得有一个自变量,比如count,这个count每次循环都会自加1,除了这个之外,你还有有一个变量,让这个变量一直去加这个count,这个基础变量还不能影响最终的结果,所以这个基础变量初始值为0,按照这个思路写一下。
     3 '''
     4 
     5 count = 1
     6 s = 0
     7 while count < 101:
     8     s = s + count
     9     count = count + 1
    10 print(s)
    使用while循环求出1-100所有数的和

    2.3.2 终止循环的第二方法:break

       break:很简单,就是Python给大家提供的关键字,什么是关键字?就是python中具有一定特殊意义的单词,比如if,str,int等,这些不能用作变量对吧? 

            那么break的用法是什么? 即:循环中,只要遇到break马上退出循环。举例说明:

    1 while True:
    2     print('起床')
    3     print('洗漱')
    4     print('吃饭')
    5     break
    6     print('睡觉')
     1 '''
     2 思路:所有的偶数,偶数有什么特点? 对2取余为0,取余在python中用%表示。再循环时,你要先打印出1~100所有的数,会吧? 在这个基础上加以改动:当count为偶数时打印,否则什么操作都不做。
     3 '''
     4 
     5 # 方法一:
     6 count = 1
     7 while True:
     8     if count % 2 == 0:
     9         print(count)
    10     count = count + 1
    11     if count == 101:
    12         break
    打印1~100所有的偶数

    2.3.3 终止循环的第三个方法:今天先不讲了,后面会给大家补充。

    2.3.4 continue

            continue 用于终止本次循环,继续下一次循环。举例说明:

    1 count = 0
    2 while count < 10:
    3     count = count + 1
    4     if count == 7:
    5         continue
    6     print(count)
    7 
    8 复制代码
    使用while循环打印 1 2 3 4 5 6 8 9 10
    1 count = 0
    2 while count <= 100 : 
    3     count += 1
    4     if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop
    5         continue 
    6     print( count)
    请输出1,2,3,4,5,95,96,97,98,99,100

    2.4,while ... else ..

    与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句

    while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

    1 count = 0
    2 while count <= 5 :
    3     count += 1
    4     print("Loop",count)
    5 
    6 else:
    7     print("循环正常执行完啦")
    8 print("-----out of while loop ------")
    1 Loop 1
    2 Loop 2
    3 Loop 3
    4 Loop 4
    5 Loop 5
    6 Loop 6
    7 循环正常执行完啦
    8 -----out of while loop ------

    如果执行过程中被break啦,就不会执行else的语句

    1 count = 0
    2 while count <= 5 :
    3     count += 1
    4     if count == 3:break
    5     print("Loop",count)
    6 
    7 else:
    8     print("循环正常执行完啦")
    9 print("-----out of while loop ------")

    输出

    1 Loop 1
    2 Loop 2
    3 -----out of while loop ------

     三. 基本运算符

    运算符

      计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算、成员运算

    算数运算

    以下假设变量:a=10,b=20

     

    比较运算

    以下假设变量:a=10,b=20

    赋值运算

    以下假设变量:a=10,b=20

     逻辑运算

     

    针对逻辑运算的进一步研究:

      1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

    例题:

    判断下列逻辑语句的True,False

    1,3>4 or 4<3 and 1==1
    2,1 < 2 and 3 < 4 or 1>2 
    3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
    4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
    5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

    2 ,  x or y , x为真,值就是x,x为假,值是y;              x and y, x为真,值是y,x为假,值是x。

     

     例题:求出下列逻辑语句的值

    8 or 4
    0 and 3
    0 or 4 and 3 or 7 or 9 and 6

    成员运算:

    除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

     

    判断子元素是否在原字符串(字典,列表,集合)中:

    例如:

    #print('喜欢' in 'dkfljadklf喜欢hfjdkas')
    #print('a' in 'bcvd')
    #print('y' not in 'ofkjdslaf')

    Python运算符优先级

    以下表格列出了从最高到最低优先级的所有运算符:

    运算符描述
    ** 指数 (最高优先级)
    ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    * / % // 乘,除,取模和取整除
    + - 加法减法
    >> << 右移,左移运算符
    & 位 'AND'
    ^ | 位运算符
    <= < > >= 比较运算符
    <> == != 等于运算符
    = %= /= //= -= += *= **= 赋值运算符
    is is not 身份运算符
    in not in 成员运算符
    not and or 逻辑运算符

     四. 编码的初识

     计算机只能识别二进制,任何计算机语言都要转换为二进制才能哎计算机上执行,下列介绍几种编码方式:

    ASCII码:包含英文字母,数字,特殊字符与01010101对应关系

    GBK:只包含本国文字(以及英文字母,数字,特殊字符)与0101010对应关系

    Unicode: 包含全世界所有的文字与二进制0101001的对应关系

    UTF-8:包含全世界所有的文字与二进制0101001的对应关系(最少用8位一个字节表示一个字符

     

     

     

  • 相关阅读:
    js对象的深度克隆
    通用事件监听函数
    JavaScript封装
    Ajax
    MarkDown怎么在博客园展现出来
    MarkDown语法学习
    暑期培训第三周SDN总结
    暑期培训遇到的floodlight+mininet+ubuntu的问题
    Ubuntu14.04搭建mininet与可视化工具miniedit介绍
    Ubuntu 14.04 安装 Sublime Text 3,并用Sublime Text 3 安装Package Control
  • 原文地址:https://www.cnblogs.com/huihuangyan/p/13022539.html
Copyright © 2020-2023  润新知