软件测试

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

2020-06-08  本文已影响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()  #换行
上一篇下一篇

猜你喜欢

热点阅读