Python学习笔记——Part 1

初步认识

Python语法与C#语法出入较大,C#相对而言更为复杂,Python更为简洁。

Python的注释符号是“#”,打印输出是“Print()”。

声明变量不需要在变量前面声明变量类型的,后续结束也不需要添加“;”。

字符串类型的只需单引号即可。如下

a = '10'
print('a的值为: ' + a)

需要注意的是Python不能整型和字符串一同输出,否则会报错。

数值介绍

在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

类型检查

# int\float\bool\str\NoneType
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)

还有赋值运算符/关系运算符/逻辑运算符/条件运算符/运算符优先级,很简单,不做记录。

条件判断语句

Python中“或与非”对应的分别是“or\and\not”。

# 字符串类型
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('你的输入有误,请重新输入!')

本章内容均为学习记录。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值