2024年5月8日 python学习笔记 Day 1
-
print 函数的基本使用
1.注释 # 这是注释 ''' 这是多行注释 可以写多行,buhuizhixing '''
-
三种颜色
红色:代码错误
灰色:PEP8格式,可以格式化 ctrl alt
绿色:提示不是一个单词
-
变量:
用来存贮数据,必须先定义,后使用
# 变量名=变量值 定义变量
name ="张三"
# 使用变量
print(name)
# indent 表示缩进问题
变量名的命名规则
1.字母和下划线组成 不能一数字开头
2.不能以python中的关键字:def except finally not or pass raise reture try while wirh yield true false
3.区分大小写
4.建议:
驼峰命名法:MyName `myName`
下划线连接
数据类型
数字类型
整数型 int
浮点型 float
布尔类型bool
真 true 1
假 false 0
复数类型 3 +4i
非数字类型
字符串str
“name”
列表 list
[1,2,3,4]
元组 tuple
(1,2,3,4)
字典dict {“name”:“小明” ; ”age“ : 18}
type() 可以获取数据类型
整型
age=18
print(type(age)) <class int>
浮点型<class float>
height =1.55
布尔类型
isMan = True
print(type(isMan)) <class bool>
输入
# 变量=input()
# 例子
result = input("请输入内容:")
print(type(result),result) # 打印数据类型和数据值 得到的内容都是字符串
类型转换 变量=str(变量)
age = input("请输入你的年龄:")
print("age本来的类型",type(age))
age1=int(age)
print("age本来的类型",type(age))
print("age转换后的类型",type(age1))
int类型转换int()
: float 和整型类型的字符串
float类型转换float()
: float 和整型类型的字符串
str类型转换str()
: 所有类型
输出
print(输出1,输出2)
格式化输出
# 变量 姓名 age height
name ="小明"
age=18
height = 1.71
# 按照 我的名字是XX,年龄是 xx,身高是XX m
# print("我的名字是name,年龄是age,身高是height m")
print("我的名字是%s,年龄是%d,身高是%f m" %(name,age,height))
#保留小数位数,默认为6为,%.2f 表示保留2为小数
# 补充
stu_num =1 # 学号
#我的学号是000001
print("我的学号是%06d" %d stu_num)
#格式化中需要使用%,则写%%
num=90
print('某次考试的及格率为%d%%' % num)
%s可以占用所有数据类型,不建议使用
F-string f字符串的格式化方法
name="小明"
age =18
height = 1.72
stu_num =1
num=90
print(f'我的名字是{name},年龄是{age},身高是{height},学号是{stu_num},本次考试的及格率为{num}%')
# \n表示换行
print(f'我的名字是{name},年龄是{age},身高是{height:.3f},学号是{stu_num:06d},\n本次考试的及格率为{num}%')
# 字符串.format(字符串)
print('我的名字是{},年龄是{},身高是{:.3f},学号是{},本次考试的及格率为{}%' .format(name,age,height,stu_num,num))
运算符
算数运算符
# 常用加减乘除,求商//, 余数%
# 运算符号的优先级 ()>**> */ // % > +-
比较运算符
< > >= <= == !=
逻辑运算符
and 逻辑与
or 逻辑或
not 逻辑非 取反
优先级 not and or
赋值运算符
a +=b ==> a=a+b
快捷键
添加引号
ctrl+Z
ctrl+d
shift enter
判断
if的基本结果
if 判断条件:
书写条件成立(真),执行的代码
书写条件成立(真),执行的代码
顶格书写的代码和if无关
#代码需要缩进
#if语句的代码框,判断条件为ture,则执行
代码案例
#使用input获取用户的age
# 如果age>18,怎输出“满18岁了,可以进入网吧为所欲为了”
age =input("请输入你的年龄:") #str 与
if int(age)>=18:
print('满18岁了,可以进入网吧为所欲为了')
print("我和if无关,不管怎样,都会执行")
练习题
#1.获取用户输入的用户名
use_id = input("请输入您的用户名:")
#2.如果用户名的信息是admin,就在控制台输出出现
if use_id == "admin":
print(use_id)
# 注意判断用的是 ==
if else 结构
基本语法:
if 判断条件:
书写条件成立(真),执行的代码
书写条件成立(真),执行的代码
else:
书写条件不成立(假),执行的代码
书写条件不成立(假),执行的代码
代码案例
# 1.使用input获取用户的age
age=input("请输入你的年龄:")
# 2.如果age>=18,输出“满18岁了,可以进入网吧为所欲为了”
if int(age)>=18:
print('满18岁了,可以进入网吧为所欲为了')
# 3.如果age<18,输出“不满18岁,回去写作业吧”
else:
print('不满18岁,回去写作业吧')
练习题
#1.获取用户输入的用户名
use_id = input("请输入您的用户名:")
#2.如果用户名的信息是admin,就在控制台输出出现
if use_id == "admin":
print(use_id)
# 3.如果用户名不是admin,输出“用户名错误!”
else:
print('用户名错误!')
结合案例1
#1.获取用户名密码
name = input("请输入您的用户名:")
password = input("请输入密码:")
#2.判断用户名是admin且密码是123456时,输出登录成功
if name=="admin" and password == '123456':
print("登录成功")
#3.否则输出:登录信息错误
else:
print('登录信息错误!')
结合案例2–格式化输出
#1.获取用户名
name = input("请输入您的用户名:")
#2.判断用户名是admin,输出欢迎admin登录!
# 3.用户名为test,输出欢迎test登录!
if name=='admin' or name=='test':
print(f'欢迎{name}登录!')
#4.否则输出:查无此人!
else:
print('查无此人!')
if elif else 结构
语法: 判断条件有多个
if 判断条件1:
判断条件1成立时,执行的代码 #只有判断条件1不成立,才会判断 判断条件2
elif 判断条件2:
判断条件2成立时,执行的代码
else:
以上条件都不成立时,执行的代码
#注意:多个if的结果,每个if条件都会判断,之间没有关系
代码案例
#定义score变量记录考试分数
score = input("请输入您的考试分数:")
#如果大于等于90,显示优
if int(score)>=90:
print("优")
#80-90,显示良
elif int(score)>=80:
print("良")
elif int(score)>=70:
print("中")
elif int(score)>=60:
print("差")
else:
print("不及格")
#70-82 显示中
#60-70 显示差
#其他显示不及格
可以优化
score = int(input("请输入您的考试分数:")) #int float均可以
Debug 调试代码
第一步:打断点
第二步:运行debug
第三步:console中查看,一步一步运行代码
if嵌套
指一个if中嵌套另一个if
使用场景:判断条件存在递进关系
语法
if 判断条件1:
判断条件1成立,执行的代码
if 判断条件1.1:
判断条件1.1成立,执行的代码
else
判断条件1.1不成立,执行的代码
else:
判断条件1不成立,执行的代码
代码案例
#取款机的取钱过程 密码是123456 账户余额为1000
#1.提示用户输入密码
#2.判断密码是否正确
#3.判断密码正确后,提示输入提款金额
#4.判断提款金额和余额的关系
password = input("请输入密码:")
if password=="123456":
print("密码正确,登录成功")
money = int(input("请输入提款金额:"))
if money>=1000:
print('余额不足')
else
print("取款成功")
else
print("密码错误")
注意:也可以之前设置变量,后续条件制定时使用变量名
练习题
#网站的用户名admin,密码为'123456',验证码"8888"
#1.获取用户的用户名,密码和验证码
#2.先判断验证码是否正确,如果正确,答应出验证码正确,再判断用户名和密码
#3.如果验证码不正确,输出“验证码不正确,请重新输入”
usename=input("请输入用户名:")
password=input("请输入密码:")
code=input("请输入验证码:")
if code == '8888':
print('验证码正确')
if password == '123456' and usename=='admin':
print("登录成功")
else
print('用户名和/密码错误登录失败')
else
print('验证码不正确,请重新输入')
案例 猜拳游戏
import random
#1. player出拳,三种情况石头1 剪刀2 布3
player = int(input("请出拳1石头 2 剪刀 3布"))
#2.computer出拳 三种情况
computer = random.randint(1,3)
#3.出现3结局,用if判断
if (player==1 and computer=2) or (player==2 and computer=3) or (player==3 and computer=1):
print("恭喜获得胜利")
elif player==computer:
print('平局')
else
print("输了,不要放弃,再来一局")
循环
程序开发的三大结构(顺序、分支和循环)
while 和 for 循环
语法及代码
1.设置循环的初始条件
i =0
2.书写循环的判断条件
while i<=5:
print("媳妇,我错了") #需要重复执行的代码
i = i+1 #改变循环的初始条件
i += 1
死循环(bug)和无限循环
while True:
重复执行的代码
if 判断条件:
break #终止
猜拳游戏
import random
while True:
#1. player出拳,三种情况石头1 剪刀2 布3
player = int(input("请出拳1石头 2 剪刀 3布 0退出"))
#2.computer出拳 三种情况
computer = random.randint(1,3)
if player==0
break
#3.出现3结局,用if判断
if (player==1 and computer=2) or (player==2 and computer=3) or (player==3 and computer=1):
print("恭喜获得胜利")
elif player==computer:
print('平局')
else
print("输了,不要放弃,再来一局")
使用循环求1-100之间数字的和
#1.定义变量,保存求和的结果
num=0
i=1 # 定义初始条件
while i<=100:
num += i
i+=1
print('求和的结果是:',num)
使用循环求1-100之间偶数数字的和
# 方法一
#1.定义变量,保存求和的结果
num=0
i=2 # 定义初始条件
while i<=100:
num += i
i+=2
print('求和的结果是:',num)
# 方法二:
#1.定义变量,保存求和的结果
num=0
i=1 # 定义初始条件
while i<=100:
if i%2==0:
num +=i
i+=2
print('求和的结果是:',num)
今天就学到这里啦!