• Python程序设计实战教程(持续学习中)


    Python基础

    变量和数据类型

    1,变量:python中的变量不需要声明就可以使用,其语法为
    变量名称=变量值
    ①如果多个变量具有同样的值可以一起指定变量值 例如a=b=c=20
    ②还可以在啊同一行定义多个变量,中间使用,号隔开
    例如:age = 18 ,name=“张三”
    ③如果变量不再使用可以将变量删除,以节省内存,删除变量的语法为
    del 变量名称
    2,变量的类型
    int (有符号整形) : 例如 0,1,100 这样的整数

    float(浮点型) : 例如 3.14 这样的小数

    string(字符串): 例如 “abc” 这样用引号引起来的数据, 这里单引号和双引号都可以

    bool(布尔类型): 例如 True/False 用来表达或者
    3,变量命名规则
    ①变量名称的第一个字符必须是字母表中的大小写字母,一个下划线()或中文。
    ②其他部分只能由大小写字母,数字,下划线(
    ),中文组成
    ③英文字母大小不同,则视为两个不同的变量
    ④变量名称不能与python内建的保留字相同,因为python是动态类型的语言。
    在这里插入图片描述
    4,怎么查看数据类型
    type()函数可以直接查看变量的类型
    5,数据类型的强制转换
    int():强制转换为整形
    float():强制转换为浮点型
    str(): 强制转换为字符串型

    输出与输入

    普通的输出

    普通输出:

    print("hello world!!!!")
    print("asd",end='\t')
    b = 12.21
    c = "aasfddafs"
    #打印变量b和c的类型
    print(type(b))
    print(type(c))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    格式化的输出

    格式化输出:在程序中,看到了%这样的操作符,就是Python中格式化输出.
    格式化输出的作用: 可以在不改变print函数中的数据的情况下就可以输出不同的数据

    color = "黑白色"
    weight = 25.5
    age = 10
    
    print("白头哥的属性:颜色", color, "体重:", 35.5, "年龄:", age)
    print(f'白头哥的属性:{color},体重{weight},年龄{age}')
    print('白头哥的属性:{},体重{},年龄{}'.format(color,weight,age))
    print(f"颜色{color},体重{weight:.02f},年龄:{age:03d}")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    常用的格式符号和转义符

    格式符号 转换
    %c 字符
    %s 字符串
    %d 有符号十进制整数
    %u 无符号十进制整数
    %o 八进制整数
    %x 十六进制整数(小写字母0x)
    %X 十六进制整数(大写字母0X)
    %f 浮点数
    %e 科学计数法(小写’e’)
    %E 科学计数法(大写“E”)
    %g %f和%e 的简写
    %G %f和%E的简写

    转义符:
    4,转义符(\)
    \ 反斜杠符号
    ’ 单引号符号
    ‘’ 双引号符号
    \a 响铃
    \b 退格
    \e 转义
    \000 空
    \n 换行
    \v 纵向制表符
    \t 横向制表符
    \r 回车
    \f 换页
    \oyy 八进制数,yy代表的字符
    \xyy 十进制数,yy代表的字符
    \other 其他的字符以普通的格式输出

    换行输出

    在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示

    print("1234567890-------") # 会在一行显示
    
    print("1234567890\n-------") # 一行显示1234567890,另外一行显示---
    #可以更换print输出的格式默认是\n换行
            print(n, "*", i, "=", n * i, end='\t')
    
    • 1
    • 2
    • 3
    • 4
    • 5

    输入

    input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
    input()在从键盘获取了数据以后,会存放到等号右边的变量中
    input()会把用户输入的任何值都作为字符串来对待

    sl = int(input("请输入你的选择:\n"))
       int:表示强制类型转换,input默认输入的是str类型
    
    • 1
    • 2

    算术运算符

    运算符 描述 实例

    • 加 两个对象相加 a + b 输出结果 30
    • 减 得到负数或是一个数减去另一个数 a - b 输出结果 -10
    • 乘 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
      / 除 b / a 输出结果 2
      // 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
      % 取余 返回除法的余数 b % a 输出结果 0
      ** 指数 a**b 为10的20次方, 输出结果 100000000000000000000

    复合赋值运算符

    复合赋值运算符
    运算符 描述 实例
    += 加法赋值运算符 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

    数据类型转换

    函数 说明
    int(x [,base ]) 将x转换为一个整数
    float(x ) 将x转换为一个浮点数
    complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部
    str(x ) 将对象 x 转换为字符串
    repr(x ) 将对象 x 转换为表达式字符串
    eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s ) 将序列 s 转换为一个元组
    list(s ) 将序列 s 转换为一个列表
    chr(x ) 将一个整数转换为一个Unicode字符
    ord(x ) 将一个字符转换为它的ASCII整数值
    hex(x ) 将一个整数转换为一个十六进制字符串
    oct(x ) 将一个整数转换为一个八进制字符串
    bin(x ) 将一个整数转换为一个二进制字符串

    示例:

    >>> # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
    ... num2 = int(3.74)
    >>> print(num2)
    3
    
    • 1
    • 2
    • 3
    • 4

    基本语句

    if判断语句

    if语句是用来进行判断的,其使用格式如下:

        if 要判断的条件:
            条件成立时,要做的事情
    
    • 1
    • 2
    a = 1
    if a < 1:
        print("hello")
    else:
        print("错了")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    if…elif…else…语句的使用

    elif的使用格式如下:

      if xxx1:
            事情1
        elif xxx2:
            事情2
        elif xxx3:
            事情3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例:

    print("规则")
    print("输入你要出的拳仅限于1,2,3,⽯头(1)、剪⼑(2)、布(3)")
    print("输入其它数字结束游戏,统计胜率")
    num=0
    computer_victory = 0
    user_victory = 0
    rank_number = random.randint(1,3)
    while True:
        ranke = int(random.random()*3)
        sl = int(input("请输入你要出的拳仅限于1,2,3输入其它的退出游戏,⽯头(1)、剪⼑(2)、布(3):\n"))
        if rank_number == 1 and sl == 1:
            print('机器出的为:',ranke,'你出的为',sl,"平局")
            num+=1
        elif rank_number == 1 and sl == 2:
            print('机器出的为:',ranke,'你出的为',sl,"机器胜")
            computer_victory+=1
            num += 1
        elif rank_number == 1 and sl == 3:
            print('机器出的为:',ranke,'你出的为',sl,"你胜")
            user_victory+=1
            num += 1
        elif rank_number == 2 and sl == 1:
            print('机器出的为:',ranke,'你出的为',sl,"你胜")
            user_victory +=1
            num += 1
        elif rank_number == 2 and sl == 3:
            print('机器出的为:',ranke,'你出的为',sl,"机器胜")
            computer_victory+=1
            num += 1
        elif rank_number == 2 and sl == 2:
            print('机器出的为:',ranke,'你出的为',sl,"平局")
            num += 1
        elif rank_number == 3 and sl == 1:
            print('机器出的为:',ranke,'你出的为',sl,"机器胜")
            computer_victory+=1
            num += 1
        elif rank_number == 3 and sl == 2:
            print('机器出的为:',ranke,'你出的为',sl,"你胜")
            user_victory+=1
            num += 1
        elif rank_number == 3 and sl == 3:
            print('机器出的为:',ranke,'你出的为',sl,"平局")
            num += 1
        elif sl not in (1,2,3):
            break
    print("机器获胜的胜率:",(computer_victory/num)*100,"%")
    print("用户获胜率为:",(user_victory/num)*100,"%")
    print("平局率为:",(num-user_victory-computer_victory)/num*100,"%")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    循环语句

    **while和if的用法基本类似,区别在于:if 条件成立,则执行一次; while 条件成立,则重复执行,直到条件不成立为止

    一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成

    循环不是必须要使用的,但是为了提高代码书写效率,所以有经验的开发者都会采用循环**

    while循环

    while循环的格式:
    while 条件:
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    …(省略)…
    示例:

        i = 0
        while i < 5:
            print("当前是第%d次执行循环" % (i + 1))
            print("i=%d" % i)
            i+=1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    死循环: 由于循环没有写终止条件, 导致循环持续执⾏,程序⽆法终⽌!一般情况下我们要防止死循环的产生.

    while循环嵌套
    #输出九九乘法表
    line=0
    while line<=9:
        print(" ")
        lie = 1
        while lie <= line:
            result =0
            result = lie * line
            print(lie,"*",line,"=",result,end='\t')
            lie += 1
        line+=1
     #输出水仙花数
     print()
    j=0
    k=0
    l=0
    i=1
    print("1000以内的水仙花数为:")
    while i<=1000:
        j = i % 10
        k = int(i / 10 % 10)
        l = int(i / 100 % 10)
        if j ** 3 + k ** 3 + l ** 3 == i:
            print( i, end='\t')
        i+=1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    结果示例:

    1 * 1 = 1	 
    1 * 2 = 2	2 * 2 = 4	 
    1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	 
    1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	 
    1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	 
    1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	 
    1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	 
    1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	 
    1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81	
    1000以内的水仙花数为:
    1	153	370	371	407	
    Process finished with exit code 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    for循环

    格式:

    for 临时变量 in 列表或者字符串等可迭代对象:
    循环满足条件时执行的代码

    i = 0
    循环输出010
    for i in range(10):
        print(i)
    
    • 1
    • 2
    • 3
    • 4
    for循环嵌套
    #打印九九乘法表
    for i in range(0, 10):
        for n in range(1, i + 1):
            print(n, "*", i, "=", n * i, end='\t')
        print()
    #打印字符串跳过空格
    stri = "asd indf"
    for i in stri:
        print(i)
        if i == "b":
            print("遇到空格了")
            break
    else:
        print("没有执行break,就执行本语句")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    break和continue

    break的作用
    立刻结束break所在的循环

    continue的作用
    用来结束本次循环,紧接着执行下一次的循环

    break/continue只能用在循环中,除此以外不能单独使用
    break/continue在嵌套循环中,只对最近的一层循环起作用

  • 相关阅读:
    java编程输出菱形
    abap代码优化和性能调优工具
    java项目之个人健康信息管理(ssm+jsp)
    Pandas数据结构
    【工程部署】在RK3588上部署OCR(文字检测识别)(DBNet+CRNN)
    vue3封装element-plus的Table表格
    JS类型判断与转换
    图神经推荐系统笔记整理
    2023 NOIP A层联测9 - 风信子 题解
    推荐系统的基本概念
  • 原文地址:https://blog.csdn.net/yfq_29/article/details/127400654