2.1 用户交互
用户交互就是能往计算机中输入数据(input),计算机输出结果(print)。为了让计算机能够像人一样与用户交流沟通。
2.1.1 输入input
输入input,程序执行input,程序就会停下来等待用户输入,用户输入任何的内容都会被存储为字符串类型。
name = input("请输入姓名:") #input括号可以有内容,内容表示友好的提示作用
print(name)
possword = input("请输入银行卡密码:")
print(possword)
输出:
请输入姓名:123
123
请输入银行卡密码:123456
123456
2.1.2 输出print
print有默认的换行功能。如果不想换行可以自行取消,print中有一个默认参数叫end,默认end=“\n”。
print("hello") #输出单个值
print(12,34,56) #一次性输出多个值,值用逗号隔开
print("aaa")
print("bbb")
输出:
aaa
bbb
print("aaa",end="")
print("bbb")
输出:
aaabbb
2.1.3 字符串转换
所有类型转布尔类型,除了0和空字符以外都是True;
字符串转整型,int()内部必须是一个字符串数字,否则会报类型转换错误;
要想转换成什么类型,就用这类型英文包裹一下就行。
#float -> int(截取小数部分,保留整数)
number = int(1.9)
print(number)
#int -> bool(除了0是False,其余都是True)
print(bool(1))#True
print(bool(0))#False
print(bool(100))#True
#bool -> int
True -> 1
False -> 0
#str -> bool (除了空字符串是False,其余都是True)
print(bool("小明"))
print(bool("abc"))
print(bool(""))
#str -> int
字符串转为其他类型时,必须长得像目标类型;
前提是字符串得是整数字符,否则报错。
2.2 运算符
- 算数运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 身份运算符
2.2.1 算数运算符
完成基本的运算的符号,简单说就是四则运算符号。
| 运算符 | 说明 | 实例 | 结果 |
|---|---|---|---|
| + | 加 | 12.45+12 | 24.45 |
| - | 减 | 4.56-0.26 | 4.3 |
| * | 乘 | 5*3.6 | 18.0 |
| / | 除法(和数学中的规则一样) | 7/2 | 3.5 |
| // | 整除(只保留商的整数部分) | 7//2 | 3 |
| % | 取余,即返回除法的余数 | 7%2 | 1 |
| ** | 幂运算/次方运算,即返回x的y次方 | 2**4 | 16,即2^4 |
2.2.2 赋值运算符
| 运算符 | 说明 | 实例 | 结果 |
|---|---|---|---|
| = | 赋值运算 | x = y | x = y |
| += | 加运算 | x += y | x = x+ y |
| -= | 减运算 | x -= y | x = x - y |
| *= | 乘运算 | x *= y | x = x * y |
| /= | 除运算 | x /= y | x = x / y |
| %= | 取余数赋值 | x %= y | x = x % y |
| **= | 幂赋值 | x **= y | x = x ** y |
| //= | 取整数赋值 | x //= y | x = x // y |
2.2.3 比较运算符
有比较运算符就一定是一个命题,有命题就一定有真和假。所以比较运算符的结果肯定是一个bool值。
| 比较运算符 | 说明 |
|---|---|
| > | 大于,如果“>”前面的值大于后面的值,则返回True,否则返回False |
| < | 小于,如果“<”前面的值小于后面的值,则返回True,否则返回False |
| == | 等于,如果“==”两边的值相等,则返回True,否则返回False |
| >= | 大于等于,如果“>=”前面的值大于或等于后面的值,则返回True,否则返回False |
| <= | 小于等于,如果“<=”前面的值小于或等于后面的值,则返回True,否则返回False |
| != | 不等于,如果“!=”两边的值不相等,则返回True,否则返回False |
age = int(input("请输入您的年龄:")) >= 18
print(age)
2.2.4 逻辑运算符
1、and(逻辑与)
- 条件1 and 条件2 - 两个 True 结果才是 True,只要一个是 False 结果就是 False
'''
真 and 真 ----》真
真 and 假 ----》假
假 and 真 ----》假
假 and 假 ----》假
规律:一假为假,全真为真
'''
# 案例: 判断num是否是一个大于10的偶数
num = 8
# num是否大于10: num > 10
# num是否是偶数: num % 2 == 0
print('num是否是一个大于10的偶数:', num > 10 and num % 2 == 0)
# 案例:判断num是否能同时被3和7整除
num = 63
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
# 如果一个数能同时被另外两个数整除,那么这个数一定能被这两个数的最小公倍数整除
print('num是否能同时被3和7整除:', num % 21 == 0)
# 案例:判断num是否是一个在100~200之间的奇数
num = 202
print('num是否是一个在100~200之间的奇数:', num % 2 != 0 and 100 < num < 200)
2、or(逻辑或)
- 条件 1 or 条件2 - 只要有一个是 True 结果就是 True,两个都是 False 结果才是 False
# 案例:判断num是否能被3或者5整除
num = 9
print('num是否能被3或者5整除:', num % 3 == 0 or num % 5 == 0)
# 案例:判断year对应的年份是否是闰年
# 是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年
year = 2024
print('year对应的年份是否是闰年', (year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
# 案例:判断x保存的数据是否是数字数据
x = 123.5
print('x保存的数据是否是数字数据:', type(x) == int or type(x) == float)
3、not (逻辑非)
- 取反,not后面跟布尔型
# 案例1:写出 age 是否不大于 18 的条件
age = 8
print(not age > 18)
print(age <= 18)
# 案例2:判断 num 是否不是偶数
num = 181
print(not num % 2 == 0)
print(num % 2 != 0)
# 案例3:判断num是否不能同时被3和7整除
# 正向分析:能被 3 整除但是不能被 7 整除;能被 7 整除但是不能被 3 整除;既不能被 3 整除也不能被 7 整除
# 方向条件:能同时被 3 和 7 整除
num = 89
print(not (num % 3 == 0 and num % 7 == 0))
2.2.5 身份运算符
在Python中,身份运算符用于比较两个对象的身份是否相同,即它们是否是内存中的同一个对象。身份运算符有两个:is 和 is not。
使用身份运算符与使用 ==比较运算符比较两个对象的值是否相等是不同的。== 运算符比较的是两个对象的值是否相等,而不考虑它们是否是同一个对象。
is 运算符:如果两个变量指向同一个对象,则返回 True,否则返回 False。 is not 运算符:如果两个变量指向的不是同一个对象,则返回 True,否则返回 False。
a = [1, 2, 3]
b = a # b 和 a 指向同一个对象
c = [1, 2, 3] # c 是一个新的列表对象,尽管它的内容与 a 相同
print(a is b) # 输出: True,因为 a 和 b 指向同一个对象
print(a is c) # 输出: False,因为 a 和 c 是不同的对象,尽管它们的内容相同
print(a == c) # 输出: True,因为 a 和 c 的内容相同
- 当需要判断两个变量是否指向同一个对象时,使用
is或is not。 - 当需要判断两个对象的值是否相等时,使用
==或!=。
身份运算符在处理诸如列表、字典、集合等可变对象时特别有用,因为即使两个对象包含相同的数据,它们所指向的地址也可能是不同的。
2.2.6 运算符优先级
python运算符的优先级顺序从高到低如下:
- 括号 ()
- 幂运算 **
- 正负号 +, -
- 乘除法 *, /, //, %
- 加减法 +
- 比较运算符 , =, ==, !=
- 逻辑非 not
- 逻辑与 and
- 逻辑或 or
- 算数优先级 大于 比较优先级
- 比较优先级 大于 逻辑优先级
- 逻辑运算符内部:not > and > or
#练习:执行程序要用户输入商品单价、商品数量、收款金额,计算应该找回多少钱?
a = float(input("请输入商品单价:"))
b = int(input("请输入商品数量:"))
c = float(input("请输入收款金额:"))
d = c - a * b
print("应该找回:",d)
#练习:计算100除以3得到的商、余数分别是多少?
print(100/3)
print(100%3)
输出:
33.333333333333336
1
#练习:用户“输入”两个数字,输出两个数字之和。
a = int(input("输入:"))
b = int(input("输入:"))
print(int(a)+int(b))
#练习:a=2,b=3,要求,将a和b的值调换,并打印结果(至少2种方法)
#法一
a = 2
b = 3
a,b = b,a
print("a =",a)
print("b =",b)
#法儿
a = 2
b = 3
t = a
a = b
b = t
print("a =",a)
print("b =",b)
581

被折叠的 条评论
为什么被折叠?



