zoukankan      html  css  js  c++  java
  • Python学习-基础和运算符

    接下来是第二天的学习,关于基础和运算符部分,先放思维导图:

    while循环

    (1)while循环,写完条件判断后加冒号":",再另起一行空4个空格写循环具体逻辑

    while True:
        print('人生苦短,我也有python')

    执行结果,将循环打印:

    此外python中while有pass的写法,直接跳过本次循环,直接java中好像是没有。

    # 添加pass的写法,执行到pass,直接过,java中好像没有pass的写法
    count = 0
    while count < 10:
        count = count + 1
        if count == 7:
            pass
        else:
            print(count)
    print('结束')

    执行结果,pass关键字:

    (2)break关键字

    break关键字是结束循环,不再执行后面循环

    # break关键字的使用,终止当前循环,外层循环不会终止
    # 通过break实现打印1-10
    count = 1
    while True:
        if count > 10:
            break
        print(count)
        count = count + 1
    print('break结束')

    执行结果,break关键字:

    (3)continue关键字

    continue关键字只是结束当前循环,不再执行continue后面的代码,直接跳到下一次循环。

    # continue关键字的使用,直接跳到下一个循环,不再执行本次循环continue后面的代码
    # 打印1~10,但是不包含7
    count = 1
    while count <= 10:
        if count == 7:
            count = count + 1
            continue
        print(count)
        count = count + 1
    print('continue结束')

    测试结果,执行到最后10次循环,只是跳过第7次循环

    (4)while else,如果跳出while循环,直接执行else里面的代码块

    # while else,很少用,else里面代码块需要while循环条件不满足时才会执行
    count = 1
    while count <= 10:
        if count == 7:
            count = count + 1
            continue
        print(count)
        count = count + 1
    else:
        print('这是else里面的代码块')
    print('while else结束')

    测试结果:

    格式化输出

    格式化输出的作用是,当需要输出的内容有一部分需要被替换掉时,就会使用占用符先占着,后面有值就替换掉。

    (1)%s:字符串替换

    (2)%d:数字替换

    (3)%%:当需要输出百分号%时使用

    # -*- coding:utf-8 -*-
    
    # 字符串格式化 主要使用三个 %s %d %%,这些都是占位符
    
    # 最常用的是%s
    # name = input('请输入姓名')
    # do = input("请输入在做什么")
    #
    # msg = '%s今天在%s' % (name, do,)  # 最后需要以逗号结尾,暂时先全部这么处理
    # print(msg)
    
    # 如果有数字,使用%d,当然使用%s也是可以的
    # name = input('请输入姓名')
    # age_str = input("请输入年龄")
    # age = int(age_str)
    # do = input("请输入在做什么")
    #
    # msg = '%s今天%d在%s' % (name, age, do,)  # 最后需要以逗号结尾,暂时先全部这么处理
    # print(msg)
    
    # 如果需要打印%,需要使用%%
    # name = input('请输入姓名')
    #
    # msg = '%s手机电量有100%%' % (name,)  # 最后需要以逗号结尾,暂时先全部这么处理
    # print(msg)
    
    # 案例
    name = input('请输入姓名')
    age = input('请输入年龄')
    hobby = input('请输入爱好')
    
    msg = '''
    name:%s
    age:%s
    hobby:%s
    '''
    format_str = msg % (name, age, hobby,)
    print(format_str)

    测试结果:

    运算符

    运算符部分,跟Java类似,如下:

    (1)算术运算:加减乘除取模取幂,还有取整数商
    (2)比较运算:大于小于等于
    (3)赋值运算:跟java类似,为简写形式
    (4)逻辑运算:与或非,与java一样,写法不一样,写成and or not
    (5)成员运算:in,not in
    (6)运算符优先级 运算符是有优先级的,一般用的多就是逻辑运算>比较运算>算术运算,参考文末链接。

    # -*- coding:utf-8 -*-
    
    # 算术运算符,主要有以下几个暂时学习
    '''
    + 加
    - 减
    * 乘
    / 除
    % 取模
    ** 取幂# -*- coding:utf-8 -*-
    // 取整除后的整数商
    '''  # -*- coding:utf-8 -*-
    
    number = 2 ** 8  # 256
    print(number)
    
    number = 9 // 2  # 4
    print(number)
    
    # 计算1-100的和
    count = 1
    sum = 0
    while count <= 100:
        sum = sum + count
        count = count + 1
    print('1-100相加的结果为:')
    print(sum)
    
    # 计算1-2+3-4+5+...-100
    count = 1
    sum = 0
    while count <= 100:
        if count % 2 == 0:
            sum = sum - count
        else:
            sum = sum + count
        count = count + 1
    print('1-2+3-4+5+...-100运算的结果为:')
    print(sum)
    
    # 比较运算符 与java类似,跳过
    '''
    == 
    !=
    >
    <
    >=
    <=
    '''
    
    # 赋值运算 与java类似,其中**和//java中好像没有,待确认
    '''
    = 简单赋值 c=a+b
    += 加法赋值运算符 c+=a 等效c=c+a
    -= 减法赋值运算符 c-=a 等效c=c-a
    *= 乘法赋值运算符 c*=a 等效c=c*a
    /= 除法赋值运算符 c/=a 等效c=c/a
    %= 取模赋值运算符 c%=a 等效c=c%a
    **= 幂赋值运算符 c**=a 等效c=c**a
    //= 取整除赋值运算符 c//=a 等效c=c//a
    '''
    
    # 逻辑运算符
    '''
    and 与
    or 或
    not 非
    '''
    
    # 入坑面试题
    var = 1 or 9
    print('运算结果为:', var)  # 1
    
    '''
    (1)字符串转数字
    count=int('666')
    (2)数字转字符串
    score=str(666)
    (3)数字转布尔
    v1=bool(1)
    v2=bool(9)
    v3=bool(0)
    (4)字符串转布尔值
    v4=bool('666')
    v5=bool('')
    v6=bool(' ')
    '''
    count = int('666')
    print(count)
    
    score = str(666)
    print(score)
    
    v1 = bool(1)
    print(v1)  # true
    
    v2 = bool(9)
    print(v2)  # true
    
    v3 = bool(0)
    print(v3)  # false
    
    v4 = bool('666')
    print(v4)  # true
    
    v5 = bool('')
    print(v5)  # false 字符串转布尔,只有空字符串才能为false
    
    v6 = bool(' ')
    print(v6)  # true
    
    # 转换
    '''
    --字符串转数字
    --数字转字符串
    --字符串和数字都可以转布尔型,只有字符串""和数字0,转换后都是false,其他都是true
    '''
    
    '''
    官方解释:
    (1)x or y 如果x是true,后面就不用看了,直接为x,如果x为false,还要看y的,结果为y 
    (2)x and y 如果x为false,后面就不用看了,直接为x,如果x为true,还要看y的,结果为y
    (3)not x 如果x为false,结果为True,否则为False
    '''
    
    var = 0 or 9
    print(var)  # 9
    
    var = 0 or ""
    print('--->', var, '<---')  # --->  <---
    
    var = 0 or 9 or 8
    print(var)  # 9
    
    print('---下面是and---')
    
    var = 1 and 0
    print(var)  # 0
    
    var = 1 and 9
    print(var)  # 9
    
    var = 1 and ''
    print('--->', var, '<---')  # --->  <---
    
    var = 0 and 9
    print(var)  # 0
    
    var = 0 and ''
    print('--->', var, '<---')  # ---> 0 <---
    
    var = 1 and 0 and 9
    print(var)  # 0
    
    print('---下面是and和or的混合,先看and再看or---')
    
    var = 1 and 9 or 0 and 6
    print(var)  # 9
    
    var = 5 < 4 or 3
    print(var)
    
    print('---下面练习---')
    # 运算符优先级 not and or 大于 比较运算符
    var = 6 or 2 > 1
    print(var)  # 6
    
    var = 3 or 2 > 1
    print(var)  # 3
    
    var = 0 or 5 < 4
    print(var)  # False
    
    var = 5 < 4 or 3
    print(var)  # 3
    
    var = 2 > 1 or 6
    print(var)  # True
    
    var = 3 and 2 > 1
    print(var)  # True
    
    var = 0 and 3 > 1
    print(var)  # 0
    
    var = 2 > 1 and 3
    print(var)  # 3
    
    var = 3 > 1 and 0
    print(var)  # 0
    
    '''
    下面的运算结果是2
    '''
    var = 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
    print(var)  # 2
    
    var = 3 > 1 and 2 or 2 < 3 and 3
    print(var)
    View Code

    编码

    编码第一课已经说明了,这里再记录下,主要有如下几种:

    (1)ASCII :1个字节
    (2)Unicode:4个字节,万国码
    (3)UTF-8:变长字节1~4个字节,中文使用3个字节
    (4)GBK:2个字节,中文使用节省空间
    (5)gb2312:2个字节,中文使用节省空间

    参考链接:

    (1)https://pythonav.com/wiki/detail/1/3/#4.2%20GBK

    (2)https://blog.csdn.net/ZYY88886666/article/details/75285780

    (3)https://www.cnblogs.com/youngchaolin/p/10927325.html

  • 相关阅读:
    struts2的结果类型
    struts2的基本配置
    struts2拦截器
    struts2入门程序
    struts2工作原理
    Mysql处理字符串函数(转)
    oracle调用java方法的例子(下面所有代码都是在sql/plus中写)
    Oracle数据库中调用Java类开发存储过程、函数的方法
    Oracle触发器反向调用Java程序
    javaweb项目打包成war包
  • 原文地址:https://www.cnblogs.com/youngchaolin/p/10963219.html
Copyright © 2011-2022 走看看