1 基础知识
1.1 pycharm常用快捷键
"""
创建文件:exercise03 汇率转换器
"""
# 1. 获取数据 - 美元
usd = input("请输入美元:")
# 2. 逻辑处理 - 美元 * 6.99
cny = int(usd) * 6.99
# 3. 显示结果 - xx美元是xx人民币
print(usd + "美元是" + str(cny) + "人民币")
(1) 移动到本行开头: home键
(2) 移动到本行末尾: end键盘
(3) 注释代码: ctrl + /
(4) 复制行: ctrl +d
(5) 删除行: shift + delete
(6) 选择列: shift + alt +鼠标左键
(7) 移动行: ctrl + shift + 上下箭头
(8) 代码格式化: ctrl+alt+l
1.2 注释
给人看的,通常是对代码的描述信息。
(1) 单行注释:以#号开头。
(2) 多行注释:三引号开头,三引号结尾。
1.3 函数
表示一个功能,函数定义者是提供功能的人,函数调用者是使用功能的人。
(1) print(数据) 作用:将括号中的内容显示在控制台中
1 print("你好")
2 print("世界")
(2) 变量 = input(“需要显示的内容”) 作用:将用户输入的内容赋值给变量
1 name = input("请输入姓名:")
2 age = input("请输入年龄:")
3 print(name + "的年龄是 :" + age + ".")
练习1: 在终端中显示古诗“登高” 效果:
登高
作者:杜甫
风急天高猿啸哀,渚清沙白鸟飞回。
无边落木萧萧下,不尽长江滚滚来。
万里悲秋常作客,百年多病独登台。
艰难苦恨繁霜鬓,潦倒新停浊酒杯。
练习2:判断英文句子成分: Ikiss you 效果:
请输入Ikiss you的主语:I
请输入Ikiss you的谓语:kiss 请输入Ikiss you的宾语:you
您输入的主语是:I,谓语是:kiss,宾语是:you
2 数据
2.1 变量
(1) 定义:关联一个对象的标识符。
(2) 命名:必须是字母或下划线开头,后跟字母、数字、下划线。
不能使用关键字(蓝色),否则发生语法错误SyntaxError。
(3) 建议命名:字母小写,多个单词以下划线隔开。
1 class_name = "xxx"
(4) 赋值:创建一个变量或改变一个变量关联的数据。
(5) 语法:
变量名 = 数据
变量名1 = 变量名2 =数据
变量名1, 变量名2 =数据1, 数据2
# 创建变量
name01 = "孙悟空" name02 = "唐僧"
name03 = name01 + name02
# 修改变量
name01 = "悟空" print(name03)
# 变量赋值变量
name04 = name01 print(name04)
2.2 删除语句
(1) 语法:
1 name01 = "悟空"
2 name02 = name01
3 del name01, name02
(2) 作用:
用于删除变量,同时解除与对象的关联。 如果可能则释放对象。
(3) 自动化内存管理的引用计数:
每个对象记录被变量绑定(引用)的数量,当为0时被销毁。
2.3 核心类型
在python中变量没有类型,但关联的对象有类型。
2.3.1 整形int
(1) 表示整数,包含正数、负数、 0。 如: -5, 100, 0
(2) 字面值:
十进制:每位用十种状态计数,逢十进一,写法是0~9。
num01 = 10
二进制:每位用二种状态计数,逢二进一,写法是0b开头,后跟0或者1。 num02 = 0b10
八进制:每位用八种状态计数,逢八进一,写法是0o开头,后跟0~7。
num03 = 0o10
十六进制:每位用十六种状态计数,逢十六进一,写法是0x开头,后跟09,AF,a~f
num04 = 0x10
2.3.2 浮点型float
(1) 表示小数,包含正数、负数, 0.0。
(2) 字面值:
小数: 1.0 2.5 科学计数法:
e/E (正负号) 指数
1.23e-2 (等同于0.0123)
1.23456e5(等同于123456.0)
1 # 小数
2 num01 = 1.23 3
4 # 科学计数法
5 num02 = 1e-5
6 print(0.00001)
2.3.3 字符串str
(1) 用来记录文本信息(文字信息)。
(2) 字面值:双引号
3.2.3.4 布尔bool
(1) 用来表示真和假的类型
(2) 只有两个值:
True 表示真(条件满足或成立),本质是1
False 表示假(条件不满足或不成立),本质是0
1 result = input("请输入您的职业:") == "老师"
2 print(result) # 输入老师 ,结果True;输入其他 ,结果False
3 运算
3.1 类型转换
(1) 转换为整形: int(数据)
(2) 转换为浮点型:float(数据)
(3) 转换为字符串:str(数据)
(4) 转换为布尔:bool(数据)
结果为False: bool(0) bool(0.0) bool(None)
(5) 混合类型自动升级:
1 + 2.14 返回的结果是 3.14 1 + 3.0 返回结果是: 4.0
# str -> int
data01 = int("3")
# int -> str
data02 = str(5)
# str -> float
data03 = float("1.2")
# float -> str
data04 = str(1.2)
# int -> float
data05 = float(250)
# float -> int
data06 = int(1.9)
print(data06) # 1 向下取整(截断删除)
# 注意:字符串转换为其他类型时 , # 必须是目标类型的字符串表达形式 # print(int("10.5")) # 报错 # print(float("abc"))# 报错
练习:在终端中输入商品单价、购买的数量和支付金额。计算应该找回多少钱。 效果:
请输入商品单价: 5
请输入购买数量: 3
请输入支付金额: 20
应找回: 5.0
3.2 运算符
3.2.1 算术运算符
- 加法 - 减法 * 乘法
/ 除法:结果为浮点数
// 整除:除的结果去掉小数部分 % 求余
** 幂运算
优先级从高到低: ()
**
- / % // + -
练习1:在终端中输入一个疫情确诊人数再录入一个治愈人数,打印治愈比例
格式:治愈比例为xx% 效果:
请输入确诊人数: 500 请输入治愈人数: 495 治愈比例为99.0%
练习2:古代的秤, 一斤十六两。在终端中获取两,计算几斤零几两。 效果:
请输入总两数: 100 结果为: 6斤4两
练习3:
匀变速直线运动的速度与位移公式:
位移 = 初速度 × 时间 + 加速度 * 时间的平方 / 2 已知(在终端中录入):位移、时间、初速度
计算:加速度 效果:
请输入距离: 100 请输入初速度: 6 请输入时间: 10 加速度是: 0.8
3.3.2.2 增强运算符
y += x 相当于 y = y + x
y -= x 相当于 y = y - x
y *= x 相当于 y = y * x y /= x 相当于 y = y / x
y //= x 相当于 y = y // x y %= x 相当于 y = y % x y **= x 相当于 y = y ** x
1 data01 = 10
2 # data01 + 5
3 # print(data01) # 10
4 data01 += 5 # data01 = data01 + 5
5 print(data01) # 15
练习:在终端中输入一个四位整数,计算每位相加和。
例如:录入1234,打印1+2+3+4结果 效果:
请输入四位整数: 1234
结果是: 10
3.3.2.3 比较运算符
< 小于
<= 小于等于 > 大于
= 大于等于 == 等于
!= 不等于
返回布尔类型的值
比较运算的数学表示方式:0 <= x <= 100 练习1:写出下列代码表达的命题含义
1 print(666 == "666")
2 print(input("你爱我吗? ") == "爱")
3 print(float(input("请输入你的身高:")) > 170)
练习2: 根据命题写出代码
输入的是正数
输入的是月份
输入的不是偶数
3.2.4 逻辑运算符
(1) 与and
表示并且的关系, 一假俱假。 示例:
True and True # True
True and False # False
False and True # False
False and False # False
1 int(input("请输现金:")) > 100000 and input("请输房产:") == "有"
(2) 或or
表示或者的关系, 一真俱真 示例:
True or True # True True or False # True
False or True # True False or False # False
1 int(input("请输现金:")) > 100000 and input("请输房产:") == "有"
(3) 非 not 表示取反 例如:
not True # 返回False
not False # 返回True
练习:根据命题写出代码
年龄大于25 并且 身高小于170
职位是高管 或者 年薪大于500000 (4) 短路运算
一但结果确定,后面的语句将不再执行。
3.2.5 身份运算符
(1) 语法: x is y
x is not y (2) 作用:
is 用于判断两个对象是否是同一个对象,是时返回True,否则返回False。 is not 的作用与is相反
3.3.2.6优先级
高到低:
算数运算符
比较运算符
增强运算符
身份运算符
逻辑运算符