黑马程序员python教程,8天python从入门到精通,学python看这套就
第二章
day1
1. print直接输出
2.字符串和字符打双引号
3.
#单行注释
4.
"""
多行注释
"""
5.变量直接定义,不用说明类型
6.变量可以直接进行四则运算
day2
1.
type()得到数据类型
print(type(变量))得到
或者用变量存储type()的结果
# type()输出数据的类型
"a"
num = 1
result = type(1.1)
print("第1个结果",type("a"))
print("第2个结果",type(num))
print("第3个结果",result)
2.数据类型转换
int_str = 1
string_str = "a"
string2_str = "1"
float_str = 1.1
bool_str = 0
result1 = int(float_str)
result2 = float(int_str)
result3 = int(string2_str)
result4 = int(bool_str)
result5 = bool(int_str)
# result4 = int(string_str)
print("float->int",type(result1),result1)
print("int->float",type(result2),result2)
print("string->int",type(result3),result3)
print("bool->int",type(result4),result4)
print("int->bool",type(result5),result5)
# print("string->int",type(result4))
3.标识符
英文 中文 数字 下划线
数字不开头
大小写敏感
关键字不可占用
4.运算符
/除法 (可以显示小数位,结果为float类型)
//整除 (只显示整数位)
**指数 a^2 ->a**2
复合运算 += 、-=、/=、//=、%=、*=、**=
5.字符串
单引号
双引号
三引号 ”“” ““”
双引号内的单引号以字符显示 往后可以递推
6.转义符
\"
7.字符串拼接
使用+
8.字符串格式化
字符串占位%s
print("这里是str1=%s,这里是str2=%s"%(str1,str2))
顺序占位
数字占位%d
浮点数占位%f
9.格式化精度控制
m.n
m为数字取值范围 小于本身不生效(作用不明)
n为小数位数
%2.3f表示该位置的数字宽度为2 显示小数点后三位
10.快速格式化
num1 = 1
num2 = 2
string1 = "晴天"
print(f"今天是{num1}月{num2}日今天的天气是{string1}")
11.表达式格式化
print("1*1的运算结果是%d"%(1*1),"运
算结果的数据类型是%s"%type(1*1))
print(f"1*1的运算结果是{1*1}",f"运算结果的数据类型是{type(1*1)}")
12.数据输入
num = input("请输入数据")
print("输入的数据是",num)
第三章
day3
1.逻辑运算符,运算结果为布尔类型的值
2.比较运算符<、>、==、!=、>=、<=
3.if判断语句
if 判断条件:
从属于if的语句前面为四个空格缩进(tab)
if num1==num2:
print("num1=num2")
else:
print("num1≠num2")
4.练习
需要注意input输入的数据都是string类型,需要转换数据类型
if elif else的运用及嵌套
# 嵌套
print("欢迎来到游乐园,儿童10岁及以下免费,10岁未成年半价,成年全价。\n请输入你的年龄:")
age = input()
age = int(age)
gender = input("请输入你的性别女性0、男性1:")
gender = int(gender)
if age <= 10:
print("您是未成年儿童,可以免费入场。")
elif age >= 18:
print("您已经成年,请收费20元入场。")
else:
if gender == 0:
print("您是青少年女生,请缴费10元入场。")
else:
print("您是青少年男生,请缴费10元入场。")
print("验证完成,祝你游玩愉快!")
5.随机数
先导包import random
num = random.randint(1,10)
int为类型
1-10为数据范围
6.练习(判断语句+嵌套)
randnum = random.randint(1,10)
print("游戏开始,本游戏为数字猜测游戏,系统随机生成一个数字,输入数字进行猜测")
num = int(input("随机数已经生成请输入你的答案"))
if num == randnum:
print(f"恭喜你,答对了!答案是:{randnum}")
else:
if num < randnum:
num=int(input("你的答案偏小,您还有两次机会,请重新输入:"))
if num == randnum:
print(f"恭喜你,答对了!答案是:{randnum}")
else:
if num < randnum:
num = int(input("你的答案偏小,您还有1次机会,请重新输入:"))
if num == randnum:
print(f"恭喜你,答对了!答案是:{randnum}")
else:
print(f"啊哦,你的机会已用完,答案是:{randnum}")
elif num > randnum:
num = int(input("你的答案偏大,您还有1次机会,请重新输入:"))
if num == randnum:
print(f"恭喜你,答对了!答案是:{randnum}")
else:
print(f"啊哦,你的机会已用完,答案是:{randnum}")
elif num > randnum:
num = int(input("你的答案偏大,您还有两次机会,请重新输入:"))
if num == randnum:
print(f"恭喜你,答对了!答案是:{randnum}")
else:
if num < randnum:
num = int(input("你的答案偏小,您还有1次机会,请重新输入:"))
if num == randnum:
print(f"恭喜你,答对了!答案是:{randnum}")
else:
print(f"啊哦,你的机会已用完,答案是:{randnum}")
elif num > randnum:
num = int(input("你的答案偏大,您还有1次机会,请重新输入:"))
if num == randnum:
print(f"恭喜你,答对了!答案是:{randnum}")
else:
print(f"啊哦,你的机会已用完,答案是:{randnum}")di
第四章
day4
1.while循环
i = 0
while i<5:
print(f"这是第{i+1}次循环。")
i+=1
2.1~100的和
i = 1
sum = 0
while i<=100:
sum +=i
i+=1
print(f"1~100的和是{sum}")
3.循环猜数
i=3
import random
random_num = random.randint(1,10)
while i>0:
num=int(input("请输入您猜测的数字:"))
if num==random_num:
print("恭喜,答案正确!")
else:
if i!=1:
i -= 1
print(f"答案错误!您还有{i}次机会")
elif i==1:
i -= 1
print(f"答案错误!游戏结束")
4.while循环嵌套,99乘法表
print("不换行",end=' ')
‘ ’里边是输出内容最后面的内容
\t 制表符使内容对齐
i = 1
while i<=9:
j=1
while j<=i:
print(f"{j}x{i}={i*j}",end=' ')
j+=1
print()
i+=1
5.for循环
逐个处理
练习 统计字母a数量
count = 0
word = "this is a word , please find word a "
for x in word:
if x=="a":
count+=1
print(f"总共有{count}个a")
6.range语句
生成数字序列
range(num)从0到num-1
range(num1,num2)从num1到num2-1
range(num1,num2,step)num1为起点 num2终点 step为步长,按步长取数,不包含num2
# 获取100以内偶数(含100)
for i in range(0,101,2):
print(i,end=' ')
# 判断100以内的数字是否为偶数
count= 0
for i in range(100):
print(i)
if i%2==0:
count+=1
print(f"100以内有{count}个偶数")
day5
1.不建议在循环外访问循环内部的临时变量
循环内的临时变量作用域在循环内
2.for循环嵌套 99乘法表
# for + for
for i in range(1,10):
for j in range(1,i+1):
# if j<=i:
print(f"{j}x{i}={i*j}\t",end='')
print()
# for + while
for i in range(1,10):
j=1
while i>=j:
print(f"{j}x{i}={i * j}\t", end='')
j+=1
print()
3.break 和continue
break 跳出循环
continue 结束本次循环,进行下一次循环
4.练习 break和continue
import random
totle_salary = 10000
stuff_num = 20
personal_salary = 1000
performance = 0
for i in range(1,21):
if totle_salary>0:
performance = random.randint(1,10)
if performance<=5:
print(f"{i}号员工,绩效为{performance},过低没有工资")
continue
else:
totle_salary-=1000
print(f"{i}号员工获得工资1000元")
else:
print("工资已经发完")
break
第五章
1.len函数
可以查看变量的长度
2.
# 统计字符串长度
str1 = "this is a word"
count = 0
for x in str1:
if x !=" ":
count+=1
print(f"字符串的长度为{count}")
3.函数的定义
def 函数名(形参列表):
函数体
return 返回值
def my_len(data):
count = 0
for x in data:
if x != " ":
count += 1
print(f"字符串的长度为{count}")
return count
4.函数的返回值
return 返回的值可以被变量接受
none 表示空
5.注释说明函数的功能(重要!!!)
按照格式编写
"""
函数说明
:param x : 形参x的说明
:return : 返回值的说明
"""
6.函数的嵌套调用
在函数中调用其他的函数
在函数a中调用函数b
a执行过程中遇到b先将b执行结束,再继续执行a剩下的内容
7.局部变量和全局变量
局部变量只能再作用域内调用
全局变量整个程序中可用
8.练习
money = 5000000
name = None
name = input("请输入您的姓名:")
def check():
print("··················余额查询··················\n"
f"{name},您好,您的余额是:{money}")
menu()
def deposit(num):
print("··················存款··················\n"
f"{name},您好,请输入您的存款金额,并放入现金进行确认")
global money
money+=num
menu()
def draw(num):
print("··················取款··················\n"
f"{name},您好,请输入您的取款金额,出钞后进行确认")
global money
money -= num
menu()
def menu():
print("··················主菜单··················\n"
"查询余额【输入1】\t\n"
"存款【输入2】\t\n"
"取款【输入3】\t\n"
"退出【输入4】\t")
return input()
while True:
jianpan = menu()
if jianpan == "1":
check()
continue
day 6
1.list tuple str set dict
2.一维列表和二维列表以及空列表
列表内的数据类型没有限制
empty_list =[] # empty_list = list() the_list = [1,2,3] print(the_list) print(type(the_list)) flat_list = [ [1,'a',False],[1,2]] print(flat_list) print(type(flat_list))
3.列表索引的使用
print(the_list[0])
for i in range(3):
print(the_list[i])
i = -3
while i <=-1:
print(the_list[i])
i+=1
i = -1
while i>-4:
print(the_list[i])
i-=1
3.方法的定义
Class 方法名:
def 函数名:
方法的使用需要先实例化和import
实例化: 实例对象名 = 方法名()
方法使用 实例对象名.方法中的函数名()
4.列表的增删查改
# index 使用
index = the_list.index(1)
print(f"查看元素值为1在列表中的索引位置index={index}")
# insert 使用 插入的位置后的元素的索引值+1
the_list.insert(0,4)
print(the_list)
# 追加元素
# 1 append 直接追加 元素追加在列表的最后
the_list.append(5)
print(the_list)
# 2 extend 追加一批元素 追加内容为列表 两个列表合并成为一个一维列表
the_list.extend([6,7,8])
print(the_list)
second_list = [9]
the_list.extend(second_list)
print(the_list)
# 删除元素
# 使用下标进行操作
# 1 del
del the_list[0]
print(the_list)
# 2 pop可以取出列表的内容并且该元素在列表内被删除
element = the_list.pop(7)
print(the_list,element)
# remove使用 争对元素的内容 相同的内容只删除遍历到的第一个元素
the_list.remove(1)
print(the_list)
# 清空列表
# the_list.clear()
# print(the_list)
# count统计选定元素内容在列表中的数量
count = the_list.count(6)
print(the_list,f"\n元素6在列表中有{count}个")
# len 计算列表的长度
length = len(the_list)
print(the_list,f"\n列表表长度是{length}")

