美文网首页软件测试
python基础知识(一)---基础语法

python基础知识(一)---基础语法

作者: 小高有点 | 来源:发表于2020-06-08 15:30 被阅读0次

    1.python基础语法

    #  -*- coding:utf-8  -*-# 表示该文件支持中文
    #表示单行注释
    
    '''
    批量注释(被注释的内容)
    
    '''
    
    Aa_1=10
    1_Aa_1=5   
    # Python 标识符:代码中取名字的地方都是标识符  (比如  变量名  函数名字   类名字)
    # python 标识符 由 大小写 字母 数字 下划线构成, 数字不能用作 开头, 比如上面的   Aa_1 就是合法的变量名    1_Aa_1=5 就是错误的变量名
    
    #常量   变量;
    print(10) # 出现在代码中 固定的数值 为常量 , 常量是要占据 单独的存储空间的, 
    b="Hello"
      
    
    #变量: 引用一个数据时  取得名称
    a=200
    c=200  # Python会只存储一次  100 ,  把100数值存储的 地址id  赋值给 a和b
    
    print( id(a) )   # id() 函数的作用:  获取一个数据的 地址标识信息
    print( id(c) )
    # 输出的  id(a)是  等于  id(b)的
    # 通过以上  两行的输出结果, 说明Python的变量 都是“引用型”变量,  变量中 存储的是 引用数据的 地址标识
    # 并且 python为 同一个整数常量  安排 唯一一个存储空间
    

    2.python的基础数据类型

    # Python的常量数据 是 区分类型的 ,  变量不 区分类型
    
    # 简单数据类型 包括:  数值型( 整数int  小数float   布尔bool),  字符串型 str
    # type()函数  可以得到 具体数据的 类型
    
    print( type(100) )
    print( type("100") )
    print( type(3.14) )
    print( type(True) )
    
    
    #【课堂练习】  数据类型转换, 例: int()转成整型函数  int( "100" )
    #  float()   bool()   str()
    
    # 原始数据:   整数内容字符串   小数内容的字符  字符型字符串         整数  小数      bool 
    #               "100"        "3.14"          "hello"        100     3.5     True
    #目标类型
    # str           NA              NA              NA           √      √       √
    # int           ✔               ✘               ✘            NA     √       √
    # float         √               V               ×            √      NA      √
    # bool          √               √               √            √      √       NA
    
    print( int(3.5) )
    

    3.运输符表达式

    1)算术
    按优先级 分以下3类运输符
    # 1)  **
    # 2)  *    / (普通除法)    // (整除)     %(取余数  求模运算  mod)
    # 3)  +    - 
    
    print( 1+2*3**2)  
    print (3/2, 3//2,  1%3)
    
    
    2)关系运算,让计算机 判断数值大小的关系假设是否成立,运算后的输出数据为bool型
    # == (恒等判断)     !=(不等判断)    >    <    >=    <=
    
    a=10
    b=20
    b1 = a==b
    print(b1,  a!=b, a>b, a<b,  a>=b,  a<=b)
    
    
    3) 逻辑运算
    #  and  ornot 
    # 参与运算的数据 和运算结果  都是 bool型 数据
    c=15
    
    res= c>a and c<b
    print(res)
    
    print(True and True) 
    print(True and False)
    print(True or False) 
    print(False or False)
    print( not False)
    
    4) 位运算
    # 4.1)  位移运算   >>   <<  ,注意:位移运算只对int型数据进行
    print(8>>2)
    print(7<<2)
    # 等效 的 算术计算是: 一个整数乘以2的n次方,n可以为正  或 负,>> 右位移相当于 整除2的次数<<左位移 相当于 乘以2的次数
    
    # 4.2) 位逻辑运算
    print(3&2)   #  按位 逻辑与运算 1 对应True   0对应 FALSE;   3(二进制11)   2(二进制10), 对应位相与 结果为二进制10==>等于十进制2
    print(3|2)   #  按位逻辑或运算   
    print(3^2)   #  按位逻辑异或与运算,异或: 相同 则为假相异则为真
    print(~1)    #  按位取反运算,等效于,一个整数在 0 和-1 之间 为对称轴   对称的那个数 
    

    4.程序流程控制

    1)选择结构
    
    #补充  input()  函数. 为运行中的程序提供输入数据。所以当代码执行到  input()函数时,  程序会暂停下来 等待用户输入
    
    a=input('请输入第一个数:')#  input函数的 参数 是  输入提示语句
    a2=float(a)
    a=input('请输入第二个数:')
    a3=float(a)
    
    if (a2 > a3) :
        print(a2)
    elif (a2 < a3):
        print(a3)
    else:
        print('a2=a3')
    
    
    【课后练习】
    # 计算体质指数 BMI
    BMI(体质指数)=体重(公斤)/身高(米)/身高(米)
    18.5 - 22.9 正常 
    23 - 24.9 过重 
    25 - 39.9 肥胖 
    > 30 非常肥胖 
    
    
    h=float( input('请输入身高:(m)'))
    w=float( input('请输入体重:(kg)'))
    bmi=w/h**2
    if bmi <=18.5:
        print('过轻')
    elif bmi <= 25 :
        print("正常")
    elif bmi <= 28 :
        print("过重")
    elif bmi <= 32:
        print("肥胖")
    else:
        print("非常肥胖")
    
    
    2)循环结构   --- while
    
    # 基本语法格式:
    # while  (执行结果为True或False的 代码) :
    # 缩进   循环代码
    
    # 循环控制基本模式————构造4个要素: 1.循环初始条件, 2循环判断   3循环体  4步进
    
    [1]计数式循环
    
    【练习】 输入5次成绩 统计总分 评价分
        sum = 0  # 设置 累积分数的变量
        a = 1  #  (1)循环初始条件,
        while a <= 5 :  #  2循环判断(也可理解为循环结束条件 )
            i = float(input('请输入一个分数:'))
            sum = sum + i
            a = a+1#  4步进
        print('总分是', sum,'  评价分是',sum/5)
    
    # 修改为  统计的分数 个数  由程序启动后  输入
        c=int(input('请输入要统计的分数 个数:'))
        sum = 0  # 设置 累积分数的变量
        a = 1  #  (1)循环初始条件,
        while (a <= c) :  #  2循环判断(也可理解为循环结束条件 )
            i = float(input('请输入一个分数:'))
            sum = sum + i
            a = a+1
        avg=sum/c   # 得到  平均分
        print('总分是', sum,'  评价分是', "%.2f" %avg)   #  字符串 格式控制语法" %.2f  %d  %s"  %(3.1415,100,"abc")
    
    
    # s1 = "----%.3f---%d----%s--"  %(3.1415, 2, "abc")   #  构造一个 满足特点格式 的字符串, 并赋值给 s1变量
    # print( s1 )
    
    [2]标记式循环
    
        c=0 # 读输入的有效分数  计数
        s = 0  # 设置 累积分数的变量
        i=float(input('请输入一个有效分数[0~100],无效分数表示程序结束'))
        while ( 0 <= i <= 100 ) :  #  2循环判断(也可理解为循环结束条件 )
            s = s + i   # 循环体
            c = c+1# 循环体
            i = float(input('请输入一个分数[0~100],无效分数表示程序结束'))  # 步进,(将循环 向下一个周期推进)
        if c>0:
            print('总分是', s,'  平均分是', "%.2f" %(s/c) )   #  字符串 格式控制语法" %.2f  %d  %s"  %(3.1415,100,"abc")
        else:
            print("无有效分数")  
    
    
    [3]循环结构 的else分支:
    # while  条件表达式:
    #循环体代码
    # else:
    #循环条件表达式 没有符合条件时( 即循环正常退出时) 执行的语句块
    
    #  注意: 如果循环体中  遇到break 而退出, 则else分支 也会被跳过
    
    【练习】输入某一个正整数  编程判断是否是 “质数”(或称  素数)
            n = int(input('请输入一个正整数'))
            a = 2
            while a < n :  # 判断条件 所允许的 循环范围是  [2~n-1]
                if n % a == 0:  # 求余数  为0 说明能被整除
                    print(n, '不是质数')
                    break  # 直接 结束循环结构, 包括循环结构的  else分支 也被忽略
                a = a + 1  # 尝试 除以下一个数
            else:
                print(n, "是质数")
            
            print('while之后的语句')
    
    # ####### 不使用循环 else分支  的实现方式
            flag=True
            n=int(input('请输入一个正整数'))
            a=2
            while a<n :
                if n%a==0:   # 求余数  为0 说明能被整除
                    print(n,'不是质数')
                    flag=False
                    break
                a=a+1
            if flag:
            print(n,"是质数")
            
    
    
    [4]循环结构 嵌套循环结构
    # 理解方法:  可以想象在 遍历 一张二维的表
        b=1
        while b<=10:
            a=1
            while a<=10:
                print(a,end=' ')
                a=a+1
            print()  # 为换行 输出空的内容
            b=b+1
    
    【练习】 找出 100~300之间的 所有质数  ,并计算有多少个质数
        c=0
        n=100
        while n <=300:
            a = 2
            while a < n :  # 判断条件 所允许的 循环范围是  [2~n-1]
                if n % a == 0:  # 求余数  为0 说明能被整除
                    # print(n, '不是质数')
                    break  # 直接 结束循环结构, 包括循环结构的  else分支 也被忽略
                a = a + 1  # 尝试 除以下一个数
            else:
                print(n, "是质数")
                c = c+1
            n = n+1
        print("总共找%d到 个质数" %(c) )
    
    [5]For 循环
    # 格式   
    # for 迭代变量  in  (数据范围):
    # 循环表达式(可以使用迭代变量  代表数据范围内的一个数 )
    
        for a in (1, 1.5, True, "abc"):
            print(a,end=' ')   # 这句 体现了  “迭代”
            print("hello")#  这句体现了  “重复”
        
        for a in range(10,0,-1):
            if a==5:
                #continue   # 跳过本次循环  未执行的部分,  进入下一次判断
                break
            print(a,end=' ')   # 这句 体现了  “迭代”
            print("hello")#  这句体现了  “重复”
        else:
                print('for循环正常结束时 执行')
    
    
    def add(a,b):
    pass  # 占位符,  表示 语法结构 已经完成
    
    【程序流程控制 练习】
    # 1.计算n!,其中n由键盘输入。
        n=int(input('输入一个正整数:'))
        s=1
        for a in range(1,n+1):
            s=s*a
        print(n,"的阶乘是:",s)
    
    # 练习2:  求s=1!+2!+3!+…+10!
        n=int(input('输入一个正整数:'))
        s=1
        s1=0
        for a in range(1,n+1):
            s=s*a
            s1=s1+s
        print(n,"以内的阶乘 求和是:",s1)
    
    #练习3:有一张厚度为0.1毫米的纸,假设它足够大,重复将其对折,问对折多少次之后,其厚度可以抵达(再对折一次就超过)珠穆朗玛峰的高度?
        c=0
        a=0.1  # 0.1毫米
        a=a*2
        while a <= 8848000:
            c=c+1
            a=a*2
        print('对折次数为',c,'最接近的厚度是',a/2000)
    
    #练习: 输出 99乘法表
         for b in range(1,10):
            for a in range(1,b+1):
                s="%dX%d=%d"  %(a,b,a*b)
                print(s,end='\t')
            print()  #换行
    

    相关文章

      网友评论

        本文标题:python基础知识(一)---基础语法

        本文链接:https://www.haomeiwen.com/subject/xmkpzhtx.html