黑马程序员课程笔记
目录
第一部分 认识python
第二部分 python基础
第一章
第一课,字面量![](https://i-blog.csdnimg.cn/blog_migrate/01846c1c2c80cfb9d67e1f4d1a05c643.png)
第二课,注释
第三课,变量
第四课,数据类型
第五课,数据类型转换
第六课,标识符
第七课,运算符
这里除(/)的话得到结果默认为浮点数,如果是整除(//)得到结果为整数。
第八课,字符串的三种定义方式
代码示例:
# 单引号定义
name = 'hello,world!'
print(type(name))
# 双引号定义
name = "hello,world!"
print(type(name))
# 三引号定义
name = """
hello,world
"""
print(type(name))
# 在字符串内包含双引号
name = '"hello,world!"'
print(name)
# 在字符串内包含单引号
name = "'hello,world!'"
print(name)
# 用转义字符\解除引号的效用
name = "\"hello,world!\""
print(name)
输出结果:
<class 'str'>
<class 'str'>
<class 'str'>
"hello,world!"
'hello,world!'
"hello,world!"
第九课,字符串拼接
第十课,字符串格式化
第十一课,字符串格式化 (1)![](https://i-blog.csdnimg.cn/blog_migrate/e26f78b1b16f67f4dbd31837a4c2a544.png)
代码示例:
num1 = 11
num2 = 11.234
print("数字11宽度限制5,%5s" % num1)
print("数字11宽度限制1,%1s" % num1)
print("数字11.234宽度限制7,小数精度限制2,%7.2f" % num2)
print("数字11.234宽度不限制,小数精度限制2,%.2f" % num2)
输出结果:
数字11宽度限制5, 11
数字11宽度限制1,11
数字11.234宽度限制7,小数精度限制2, 11.23
数字11.234宽度不限制,小数精度限制2,11.23
第十二课,字符串格式化(2)
代码示例:
name = "王者荣耀"
year = 2015
month_day = 11.26
# f:format
print(f"{name}创建于{year},{month_day}")
输出结果:
王者荣耀创建于2015,11.26
第十三课,直接格式化表达式
第十四课,输入语句
第二章
第一课,布尔类型
第二课,if语句
第三课,else语句和elif语句
第四课,判断语句的嵌套
代码练习:
公司发礼物,限制1:需要大于等于18岁,小于30岁;限制2:同时入职时间大于两年或者级别大于3的人才可以领取。
age = int(input("请输入您的年龄"))
year = int(input("请输入您的入职时间"))
level = int(input("请输入您的等级"))
if age >= 18:
print("您是成年人")
if age < 30:
print("您的年龄达标")
if year > 2:
print("入职时间达标可以领取")
elif level > 3:
print("等级达标可以领取")
else:
print("等级不达标")
else:
print("您年龄太大")
else:
print("您年龄太小")
第五课,判断语句综合案例
案例要求:
1,数字随机产生(1,10)
2,有三次机会猜数字
3,每次猜不中会提示大了或者小了
"""
演示案例,猜数字
"""
import random
num = random.randint(1, 10)
guss_num = int(input("请输入您第一次猜的数字"))
if guss_num == num:
print("恭喜您,猜对了")
else:
if guss_num > num:
print("正确数字比%s小" % guss_num)
else:
print("正确数字比%s大" % guss_num)
guss_num = int(input("请输入您第二次猜的数字"))
if guss_num == num:
print("恭喜您,猜对了")
else:
if guss_num > num:
print("正确数字比%s小" % guss_num)
else:
print("正确数字比%s大" % guss_num)
guss_num = int(input("请输入您第三次猜的数字"))
if guss_num == num:
print("恭喜您,猜对了")
else:
print("您没有机会了,正确的数字为%s" % num)
第四章
第1课,while语句
第二课,while累加案例
"""
从1一直累加到100
"""
i = 1
total = 0
while i < 100:
total = i + total
i += 1
print(total)
第三课,while 猜数字案例
"""
while猜数字案例
设置1-100的随机数,通过while循环,配合input语句,判断输入的数字是否等于随机数
无限次机会,猜中为止
每一次猜不中都会提示大了还是小了
猜完数字后,提示猜了几次
"""
import random
num = random.randint(1, 100)
i = 1
guss_num = int(input("请输入您猜的数字"))
while guss_num != num:
if guss_num > num:
print("您猜的数字大了")
else:
print("您猜的数字小了")
i += 1
guss_num = int(input("请输入您猜的数字"))
print("总共猜了%s次" % i)
"""
演示while循环的嵌套使用
"""
i = 1
while i <= 100:
print(f"今天是第{i}天,准备表白")
j = 1
while j <= 10:
print(f"送出的第{j}朵玫瑰花")
j += 1
print("阿宾,我喜欢你")
i += 1
print(f"坚持到第{i-1}天,表白成功")
第四课, while循环案例九九乘法表
"""
while九九乘法表
1,有控制行的循环 i <= 9
2,有控制每一行输出的循环 j <= i
3,print()空内容,就是一个换行
"""
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}*{i}={j*i}\t", end='')
j += 1
print()
i += 1
第五课,for循环
第六课,range语句
"""
Python中range()语句的基本使用
1,从0到num-1
2,从num1开始到num2结束,不包括num2的一个数字序列,数字之间间隔为1
3,从num1开始到num2结束,不包括num2的一个数字序列,数字之间的间隔为step
"""
# range语法1 range(num)
for i in range(10):
print(i)
# range语法2 range(num1, num2)
for i in range(5, 10):
print(i)
# range语法3 range(num1, num2, step)
for i in range(5, 10, 2):
print(i)
第七课,for循环的临时变量
第八课,for循环的嵌套
x = 0
for x in range(1, 101):
print(f"今天是表白的第{x}天")
i = 1
while i < 11:
print(f"送给小美的第{i}朵玫瑰花")
i += 1
print("小美我喜欢你")
print(f"第{x}天,表白成功")
x = 0
i = 1
for x in range(1, 101):
print(f"今天是表白的第{x}天")
while i < 11:
print(f"送给小美的第{i}朵玫瑰花")
i += 1
print("小美我喜欢你")
print(f"第{x}天,表白成功")
思考,上述两个代码块的不同:
第一个将i=1放在for'循环内,这样当每次while循环结束后,i总能回到1,这样while循环每次都会遍历;第二个,i=1在所有循环外,第一次while循环满足后,i一直等于11,不满足后续while循环条件。
第九课,for循环打印九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}*{i}={i*j}\t", end='')
print()
或者end='\t'
第十课,continue和break语句
第十一课,发工资案例
import random
money = 10000
for i in range(1, 21):
core = random.randint(1, 10)
if core < 5:
print(f"员工{i},绩效分{core},低于5,不发工资,下一位")
continue
else:
if money > 1000:
money -= 1000
print(f"员工{i},发放工资1000,账户余额{money}元")
else:
break
第五章
第一节,函数
第二节,定义一个函数
第三节,形参和实参
第四节,函数返回值
第五节,字面量None
第六节,函数的说明文档
第七节,嵌套调用
第八节,全局变量和局部变量
"""
全局变量和局部变量
1,num是全局变量,在vid2中的num是局部变量,改变vid2中的num,不会对全局变量产生影响
2,利用global关键字,在函数中声明num是全局变量,改变num的值,会对num有影响
"""
# 1,
num = 200
def vid():
print(num)
def vid2():
num = 300
print(num)
vid()
vid2()
print(num)
# 2,
num = 200
def vid():
print(num)
def vid2():
global num
num = 300
print(num)
vid()
vid2()
print(num)
第九节,综合案例
money = 5000000
name = None
name = input("请输入您的姓名:")
def query(show):
if show:
print("-------------查询余额-------------")
print(f"{name},您好,您的余额剩余:{money}")
def saving(num):
global money
money += num
print("--------------存款----------------")
print(f"{name},您好,您存款{num}元成功。")
query(False)
def get_money(num):
global money
money -= num
print("--------------取款----------------")
print(f"{name},您好,您取款{num}元成功。")
query(False)
def main():
print("--------------主菜单---------------")
print(f"{name},您好,欢迎来到银行,请选择操作")
print("查询余额\t【输入1】")
print("存款\t\t【输入2】")
print("取款\t\t【输入3】")
print("退出\t\t【输入4】")
return input("请输入您的选择:")
while True:
keyword_input = main()
if keyword_input == "1":
query(True)
continue #通过continue直接进入主菜单
elif keyword_input == "2":
num = int(input("您想要存多少钱?"))
saving(num)
continue
elif keyword_input == "3":
num = int(input("您想要取多少钱?"))
get_money(num)
continue
else:
print("程序退出")
break #通过break退出循环