zoukankan      html  css  js  c++  java
  • Python-Basis-2nd

    周五,晴,记录生活分享点滴

    参考博客:https://www.cnblogs.com/resn/p/5776403.html  

    Python版本:3.5   

     

    运算符

    算数运算符:

    +  -  *  /   //(取整除)   %(取余)    **(指数:2**3-->2的3次方)

    比较运算符:

    >、 <、 >=、 <=、 ==(等于:表示两个变量的值是否一样)、!=(不等于)

    >>> a = 5
    >>> b = 3
    >>> a > b   # 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 
    True
    >>> a < b   # 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。
    False
    >>> a <= b  # 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。
    False
    >>> a >= b  # 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。
    True
    >>> a == b  # 检查两个操作数的值是否相等,如果是则条件变为真。
    False
    >>> a != b  # 检查两个操作数的值是否相等,如果值不相等,则条件变为真。
    True

     小结:关注一下最后两行,易混淆。 

    赋值运算符

    = 、+=、 -=、 *=、 /=、 %=、 //=、 **=

    >>> num = 2    
    >>> num += 1   # 等价于 num = num + 1
    >>> num -= 1   # 等价于 num = num - 1
    >>> num *= 1   # 等价于 num = num * 1
    >>> num /= 1   # 等价于 num = num / 1
    >>> num //= 1  # 等价于 num = num // 1
    >>> num %= 1   # 等价于 num = num % 1
    >>> num **= 2  # 等价于 num = num ** 2

    逻辑运算符

    not (否定/双否定)、and(交集/且)、 or(并集/或)

    >>> a > b and  a < b  # 如果两个操作数都是True,那么结果为True,否则结果为False。
    False
    >>> a > b or  a < b  # 如果有两个操作数至少有一个为True, 那么条件变为True,否则为False。
    True
    >>> not a > b  # 反转操作的状态,操作数为True,则结果为False,反之则为True
    False

     小结:如果not、and、or出现在同一指令中,正常顺序是从左到右,但推荐使用小括号进行先后顺序的区分。

     

    最大值

    思路:

    1. 输入三个数,
    2. 比较第一、二个数:如果第一个数大于第二个数,则第一个数为最大值,
    3. 将最大值同第三个数比较:如果最大值大于第三个数,则打印最大值即第一个数,反之打印第三个数,
    4. 如果2不成立,第一个数不大于第二个数,则设第二个数为最大值,
    5. 再将最大值即第二个数与第三个数相比较:如果第二个数大于第三个数,则打印最大值即第二个数,反之第三个数。
    num1 = input("Num1:")
    num2 = input("Num2:")
    num3 = input("Num3:")
    
    if num1>num2:
        max_num=num1
        if max_num>num3:
            print("MAX NUM is",max_num)
        else:
            print("MAX NUM is",num3)
    
    else: 
        max_num = num2
        if max_num>num3:
            print("MAX NUM is",max_num)
        else:
            print("MAX NUM is",num3)

     小结:最大值 max_num的灵活运用,因为是三个数,按照正常运算逻辑,需要先比较其中的两个数,在与第三个数相比较。

     

    表达式

    运算符和操作数结合起来叫做表达式。

     

    短路原则

    对于and:如果前面的第一个条件为假,那么这个and前后两个条件组成的表达式 的计算结果就一定为假,第二个条件就不会被计算

    对于or :如果前面的第一个条件为真,那么这个or前后两个条件组成的表达式 的计算结果就一定为真,第二个条件就不会被计算

    小结:

    • 因为and是且的关系,所以前面若假则全部为假,or为或的关系,所以前面为真则全部为真
    • and、or、not 从左往右依次运行,推荐用小括号区分运行的顺序。

     

    while循环

    猜年龄(while版)

    思路:

    1. 设置一个变量为正确的,
    2. 针对这个变量的while循环开始,
    3. 给出用户输入年龄的功能,
    4. 如果用户输入年龄正确,则打印结果(Yes),
    5. 第一个如果不成立呢(否则 如果),用户输入年龄偏大,则打印(Is bigger)结果,
    6. 前面的都不成立(否则),用户当前输入的年龄剩下最后一种可能,所输入年龄偏小,则打印(Is smaller)结果。
    age = 50
    
    flag = True
    
    while flag :
        user_input_age = int(input("Age is :"))
        if user_input_age == age:
            print("Yes")
            flag = False
        elif user_input_age > age:
            print("Is bigger")
        else:
            print("Is smaller ")
    
    print("End"

    小结:针对猜年龄游戏,需要考虑到所有可能结果数,即大于、小于、等于三个可能,通过if、elif、else来引出。

    猜年龄(while-break版)

    在1)的基础上增加break命令,即如果用户输入年龄正确,则运行break命令,中断循环,打印(End)提示。

    age = 50
    
    while True:
        user_input_age = int(input("Age is :"))
        if user_input_age == age:
            print("Yes")
            break
        elif user_input_age > age:
            print("Is bigger")
        else:
            print("Is smaller")
    
    print("End")

    break的运用

    break的作用: 结束循环,在死循环中,也可以通过设置一定的条件来结束循环。

    num = 1
    
    while num < 10:
        print(num)
        num += 1
        if num == 5:
            break

    continue的运用

    continue表示继续的含义,当运行到如果当前数字等于3时,continue指令出发,表示继续这个循环,而不输入打印结果

    在if 命令不成立时,则输出打印结果。

    所以打印结果为:2、4、5、6、7、8、9、10、11

    num = 1
    
    while num <=10:
        num += 1
        if num == 3:
            continue
        print(num)

    while....else....语句

    正常循环结束(无break时),执行else语句

    num = 1
    while num <= 10:
        num += 1
        if num == 5:
            continue
        print(num)
    else:
        print("This is else statement")

    end作用  含义

    end="__"  默认不换行,最后的结尾是下划线(__)

    换行符:

    • (Linux系统),     (Windows系统)  ,   (Mac系统)
    • 可以在python中默认指定为换行符,这行数据最后结尾的字符,是不可见的,但是可以指定它
    • 同空格、制表符一样,都不可见
    •   是windows的回车(Enter),回车表示当前行的第一个位置,加上 以后会移到下一行的第一个位置
    • (Linux系统)移动到下一行 ,   (Mac系统)移动到下一行
    num1 = 0
    
    while num1<=5:
        print(num1,end="_")
        num2 = 0
        while num2<=7:
            print(num2,end="-")
            num2+=1
            
        num1+=1
        print() #print(end="
    ")

     小结:

    • end="  " 为不换行标志,如果想得到横排的序列,需要输入end="  " ,
    • print() 为换行标志,如果想得到竖排的序列,需要输入print()
    • print() 即 print(end=" ") 

     

    高度、宽度的自定义 

    height = int(input("Height:"))
    width = int(input(""))
    
    num_height = 1
    while num_height <= height:
        num_width =1
        while num_width <= 
            print("#", end="")
            num_width += 1
        print()
        num_height += 1

    小结:排列顺序是先从左到右,再从上到下依次排列

    嵌套循环

    矩形排列

    height = int(input("Height:"))
    width = int(input(""))
    
    num2 = height
    while num2 > 0:
        
        num1 = width
        while num1 >0:
            print("#",end="")
            num1 -= 1
        print()
        num2 -= 1

    小结:

    • 大体上与8相同,
    • 其中的不同点是高度和宽度以其他变量的形式命名,易于区分;
    • while循环的条件不同,8是小于等于用户所输入的值,这个是大于0,因为这个是while循环中引用的用户所输入的值,而8中应用的是一个固定的值。

    三角排列

    思路:

    当进行赋值后,line=5,即tmp=5,早第二个(内部)while循环中进行tmp的循环,直到tmp不大于0为止,第一行结束。

    line减一,即line=4,继续tmp=4,继续进行第二个while循环。

    line = 5    
    while line>0:  
    
        tmp = line  
        
        while  tmp>0:  
            print("*",end="") 
            tmp = tmp-1   
            
        print()
        #print(line)
        line -= 1

    小结:输出顺序依次是先从左到右,再从上到下排列 

    九九乘法表

    first = 1
    while first<=9:
    
        sec = 1    
        while sec <= first:
            print(  str(sec)+"*"+ str(first) +"="+str(sec * first), end="	")
            sec += 1
          
        print()
        first += 1

     小结:

    • 输出顺序依次是先从左到右,再从上到下排列
    • 结果是一个式子,打印格式以拼接的方法进行,str表示把数据转换为字符串,end=“ ”表示不换行
  • 相关阅读:
    How to solve the problem "A project with an Output Type of Class Library cannot be started directly "
    Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
    JavaScript实现startWith、endWith效果函数
    不同格式证书导入keystore方法
    用KeyTool生成安全证书
    怎样让操作系统的虚拟机退出全屏?
    对https的理解
    JDK中keytool常用命令
    百折不回结局凄惨的金庸反角
    主题数据库的特征
  • 原文地址:https://www.cnblogs.com/chungzhao/p/12890590.html
Copyright © 2011-2022 走看看