栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习笔记——Part 1

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python学习笔记——Part 1

目录

初步认识

数值介绍

字符串(str)注意事项

布尔类型

类型检查

类型转换

算术运算符

循环语句

循环嵌套

程序优化部分

Part 1 总结


初步认识
Python语法与C#语法出入较大,首先代码层面,C#相对而言更为复杂,Python较为简洁。
Python的注释符号是“#”,打印输出是用print()和C语言打印输出更相似。
声明变量不需要在变量前面声明变量类型的,后续结束也不需要添加“;”的;字符类型的只需单引号即可。如
a = '10'
print('a的值为: ' + a)
需要注意的是python不能整型和字符串一同输出,否则会报错“TypeError: can only concatenate str (not "int") to str”

数值介绍
在Python数值中分为三种:整数、浮点数(小数)、复数,在Python中所有的整数都是int类型,所有的小数都是float类型。
b = 10
print(b)
c = 1.23
print(c)
# 对浮点数进行运算时,会得到一个不精确的结果
d = 0.1 + 0.2
print(d)

# 进制数限制
# 二进制(0b开头)
e = 0b10
# 八进制(0o开头)
e = 0o10
# 十进制(非零开头)
e = 10
# 十六进制(0x开头)
e = 0x10
print(e)

字符串(str)注意事项
1、相同引号不能套用
f1 = '今天是个"坏天气"!'
print(f1)
2、三重引号可以表示一个长字符串,可以换行,输出时也可以保留字符串中的格式
f2 = '''Python,
C#,
JAVA,
C'''
print(f2)
3、转义字符:' 表示'," 表示",t 表示制表符,n 表示换行符,\ 表示反斜杠
f3 = "他说:"学Python真有趣!""
print(f3)
4、占位符:%s 在字符串中表示任意字符、%f 浮点数占位符、%d 整数占位符
f4 = 'Python %s C# %s' % ('比', '更简洁')
print(f4)
f5 = '我的存款: %.2f' % 10000.123
print(f5)
f6 = '你们的存款: %d' % 100000.95
print(f6)
f7 = f'hello {a} {b}'
print(f7)

布尔类型
布尔值实际上也属于整型,True就相当于1,False就相当于0。
注意:Python中True和False首字母必须大写。
g = True
g += 1
print(g)  # 打印的是2
g = False
g += 1
print(g)  # 打印的是1

类型检查
# intfloatboolstrNoneType
print(type(1))
print(type(0.1))
print(type(True))
print(type('hello'))
print(type(None))

类型转换
# bool转换成int
j1 = True
j2 = False
j = int(j1)
j = int(j2)
print(j)
# str转换成int
j3 = '123'
j = int(j3)
print(j)
# int转换成str
j4 = 123
j = str(j4)
print(j)
# int转换成float
j5 = 123
j = float(j5)
print(j)
# None转换成bool
j6 = None
j = bool(j6)
print(type(j))

算术运算符
加减乘除用法一致,仅补充以下内容:
# // 整除,只会保留计算后的整数位,总会返回一个整型
z1 = 5
z1 //= 2
print(z1)
# ** 幂运算,求一个值的几次幂
z2 = 2 ** 2
z2 = 10 ** 5
z2 = 16 ** 0.5  # 求16的平方根
print(z2)
# % 取模,求两个数相除的余数
z3 = 10 % 5  # 打印输出0
z3 = 10 % 4  # 打印输出2
z3 = 10 % 2  # 打印输出0
print(z3)
还有赋值运算符/关系运算符/逻辑运算符/条件运算符/运算符优先级,很简单,不多做记录
条件判断语句/input()函数
需要注意的是python中“或与非”对应的分别是“orandnot”
# 字符串类型
strTest = input('请问您今天学习了吗?')
if strTest == '学习了':
    print('那您再继续努力努力,坚持下去!')
elif strTest == '还没有':
    print('学习是进步的阶梯,赶紧行动起来吧!')
else:
    print('对不起,无法识别您的回答,请重新输入!')

# 整数类型
intTest = int(input('请任意输入一个1-100以内的正整数:'))
number = intTest
if 0 < number < 100:
    print('您输入的正整数是:')
    print(number)
else:
    print('输入错误,请重新输入!')

循环语句
while和for,下面举3个例子:
# 1、求100以内所有的奇数之和
i = 0
result = 0
while i < 100:
    i += 1
    if i % 2 != 0:
        result += i
print('100以内所有奇数之和')
print('总和为:', result)
print()
# 2、求1000以内水仙花数
i = 100
print('1000以内的水仙花数分别是:')
while i < 1000:
    # 求百位
    a = i // 100
    # 求十位
    b = (i - a * 100) // 10
    # 求个位
    c = i % 10
    if a ** 3 + b ** 3 + c ** 3 == i:
        print(i)
    i += 1
# 3、求最大公约数和最小公倍数
print('请输入两个数字')
number1 = int(input('Num1: '))
number2 = int(input('Num2: '))
# 找出两个num中最小的
min_number = min(number1, number2)
for i in range(1, min_number + 1):
    if number1 % i == 0 and number2 % i == 0:
        max_commer = i
    min_commer = int(number1 * number2)/max_commer
print('%s 和 %s的最大公约数为%s' % (number1, number2, max_commer))
print('%s 和 %s 的最小公倍数为%s' % (number1, number2, min_commer))

循环嵌套
以打印图形为例
# *递增
i = 0
while i < 5:
    j = 0
    while j < i + 1:
        print("* ", end='')
        j += 1
    print()
    i += 1
# *递减
i = 5
while i > 1:
    j = 0
    while j <= i - 1:
        print("* ", end='')
        j += 1
    print()
    i -= 1
print()
# 倒三角
for i in range(4):
    for y in range(i, 7-i):
        print(" * ", end='')
    print()
    for j in range(0, i+1):
        print("   ", end="")
print()
# 99乘法表
i = 0
while i < 9:
    i += 1
    j = 0
    while j < i:
        j += 1
        print(f"{j}*{i}*{i*j} ", end="")
    print()
循环中的break和continue用法一致,不多记录

程序优化部分
# time模块,用来统计程序执行的时间
from time import *
# 记录开启时间
begin = time()
i = 2
while i <= 100000:
    if i % j == 0:
        flag = False
        break
    j += 1
    if float:
        pass
    i += 1
# 获取程序结束的时间
end = time()
# 计算程序执行时间
print("程序执行花费了:", end - begin, "秒")

Part 1 总结
用一个小游戏概况
# 《贫民斗地主》
print('-'*20, '欢迎光临《贫民斗地主——贫民翻身篇》', '-'*20)
# 选择身份
print('请选择你的身份:')
print('t1.贫民')
print('t2.地主')
player_choose = input('请选择[1/2]:')
print('-'*88)
if player_choose == '1' or player_choose == '贫民':
    print('你已经选择了1.贫民,你将以<-贫民->的身份来进行游戏!')
elif player_choose == '2' or player_choose == '地主':
    print('你竟然选择地主?!不好意思这里是贫民翻身篇,你将以<-贫民->的身份来进行游戏!')
else:
    print('输入有误,系统将为你自动分配身份,你将以<-贫民->的身份来进行游戏!')
# 进入游戏
player_farmernum = 1  # 贫民人数
player_farmermoney = 1000  # 资产/元
landowner_num = 10  # 地主势力
landowner_money = 10000  # 资产/元
print('-'*88)
print(f'贫民,你目前的公关团队人数是 {player_farmernum} , 你目前的资产是 {player_farmermoney}')

while True:
    # 打印一条分割线
    print('-'*88)
    # 显示游戏选项,游戏正式开始
    print('请选择你要进行的操作:')
    print('t1.公关团队')
    print('t2.批斗地主')
    print('t3.单挑地主')
    game_choose = input('请选择要做的操作[1-3]:')

    # 处理用户的选择
    if game_choose == '1':
        # 增加公关人数
        player_farmernum += 1
        player_farmermoney += 1000
        # 显示最新的信息
        # 打印一条分割线
        print('-'*88)
        # 显示玩家的信息(攻击力、生命值)
        print(f'恭喜你找到新成员!,你目前的团队人数是 {player_farmernum} , 你目前的资产是 {player_farmermoney}')
    elif game_choose == '2':
        # 贫民批斗地主
        # 削弱地主的势力,削弱的势力应该等于贫民公关团队总人数
        landowner_num -= player_farmernum
        landowner_money -= player_farmermoney

        # 打印一条分割线
        print('-'*88)
        print('<-贫民-> 批斗了 <-地主->')
        # 检查地主是否破产
        if landowner_num < player_farmernum and landowner_money <= 0:
            # 地主破产,贫民胜利,游戏结束
            print(f'<-地主->-受到了 {player_farmermoney} 的罚款,破产了,<-贫民->-赢得了胜利!')
            # 游戏结束
            break

        # 地主要反击贫民
        # 减去贫民的资金
        player_farmermoney -= landowner_money
        print(' <-地主-> 反击了 <-贫民->')
        # 检查贫民是否输光money
        if player_farmermoney <= 0:
            # 贫民输光money
            print(f'你批斗失败了,需要赔偿地主 {landowner_money} 元,你的资产输得一毛不剩!GAME OVER')
            # 游戏结束
            break
    elif game_choose == '3':
        # 打印一条分割线
        print('-'*88)
        # 单挑地主,游戏当场结束
        print('<-贫民->单枪匹马斗地主,底裤都输没了!GAME OVER')
        break
    else:
        # 打印一条分割线
        print('-'*88)
        print('你的输入有误,请重新输入!')

本章内容均为学习记录。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977478.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号