1.1输出输入补充
1.1 print输出
print('hello world') # 输出一个值
print('first', 'second',123,True) # 一次性输出多个值,用逗号隔开
# print默认有一个end参数,该参数的默认值为 3"\n" end="\n"
print('hello', end='')
print('world')print('100 + 200 =', 100 + 200)
1.2 input 输入
输入input,程序执行input,程序就会停下来等待用户输入(会有一个闪耀光标)。用户输入任何的内容,都会被存成字符串
input("") # input("") 内部的文字,只是在你输入的位置前增加一个友好的提示,并无逻辑作用
name = input("请输入姓名:")
print(name)
2.1 运算符
2.1.1 算术运算符
算术运算符:就是用来完成基本的算术运算的符号
运算符 | 说明 | 实例 | 结果 |
+ | 加 | 10+20 | 30 |
- | 减 | 4-2 | 2 |
* | 乘 | 7*8 | 56 |
/ | 除法(和数学中的规则一样) | 7/2 | 3.5 |
// | 整除(向下取整) | 7//2 | 3 |
% | 取余,即返回除法的余数 | 7%2 | 1 |
** | 幂运算/次方运算,即返回 x 的 y 次方 | 2**4 | 16 |
注意点:
1. / 的 结果一定是浮点数
2. // 保留整数部分
3. 如果运算中有小数参与,最后的结果一定小数
小练习
自动找零程序
执行程序要用户输入商品单价 ,商品数量,最后收到的金额
输入 应该找多少钱
price = float(input('请输入商品单价:'))
count = int(input('请输入商品数量:'))
money = float(input('请输入收款金额:'))
result = money - count * price
print("应该找回:", int(result))
2.1.1.1 数据类型转换
遵循一个基本规则:想转换什么类型就拿它的英文名包囊一下
# float -> int 向下取整
number1 = int(1.9)
print(number1)
# bool -> int True:1 False:0
number2 = int(True)
print(number2)
# int -> bool 除了0是False,其余都是True
print(bool(-1))
# str -> bool 除了空字符串是False,其余都是True 在字符串中空格也是一个单位
print(bool(''))
# 注意:
字符串转换为数字数据类型时,必须长得像目标类型
总结:
所有类型转布尔型,除了0和空字符串以为都是True
字符串要转整型,必须是一个字符串整数,否则会报类型转换错误
要想转成什么类型,就用这个类型英文名包囊一下就行
2.1.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 |
**链式赋值**
x = y = z = 10
print(x,y,z)
交叉赋值
a, b, c = 10, 5, 3
print(a, b, c)
交换的两种方法:
# 交换
# 方法一 借助第三方容器
# temp = m
# m = n # n:20 m:20
# n = temp
# 方法二
# m, n = n, m
# print("m =", m)
# print("n =", n)
2.1.3 比较运算符
比较一定是一个命题,命题一定有真和假
比较运算符的结果肯定是一个bool值
比较运算符 | 说明 |
> | 大于,如果 |
< | 小于,如果 |
== | 等于,如果 |
>= | 大于等于(等价于数学中的 ≥),如果 |
<= | 小于等于(等价于数学中的 ≤),如果 |
!= | 不等于(等价于数学中的 ≠),如果 |
# result = input('请输入您的职业:') == 'teacher'
# print(result)
#
result = int(input('请输入您的年龄:')) >= 18
print(result)
result = int(input('请输入整数:')) > 0
print(result)
2.1.4 逻辑运算符
逻辑运算符也是做运算
逻辑运算符 | 含义 | 基本格式 | 说明 |
and | 逻辑与运算,等价于数学中的“且” | a and b | 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。 |
or | 逻辑或运算,等价于数学中的“或” | a or b | 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。 |
not | 逻辑非运算,等价于数学中的“非” | not a | 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。 |
and : 且 当两边都为真的时候,结果才为真,否则为假
or : 或 当两边满足1个真的时候,结果就为真,否则为假
not : 非 如果为真,则为假,如果为,则为真
当如果能直接断定结果的时候 , 逻辑运算符直接出结果
# 来自丈母娘的灵魂质问
# 1.有钱 或 才
result = int(input('请输入你的财产:'))> 100 or input('请问您是否有才华:') == '有'
print(result)
# 补充 :逻辑运算符优先级关系 not>and>or
v1 = 1 and 9 or 0 and 6优先级:() > not > and > or
全部的优先级关系: 算术运算符 > 比较运算符 > 逻辑运算符(not,and,o
2.1.5 身份运算符
身份运算符用来比较 两个对象的存储单元
运算符 | 描述 | 实例 |
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
2.1.6 运算符优先级
从最高到最低优先级的所有运算符
运算符说明 | python运算符 | 优先级 | 综合性 |
小括号 | ( ) | 19 | 无 |
乘方 | ** | 16 | 右 |
符号运算符 | +(正号)、-(负号) | 14 | 右 |
乘除 | *、/、//、% | 13 | 左 |
加减 | +、- | 12 | 左 |
比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 |
is 运算符 | is、is not | 6 | 左 |
逻辑非 | not | 4 | 右 |
逻辑与 | and | 3 | 左 |
逻辑或 | or | 2 | 左 |
总结:加减乘除 > 比较运算符 > not and or 。 老大:括号
练习
## 1.计算100除以3得到的商、余数分别是多少?
## 2.用户输入两个数字,输出两个数字之和:
## 3.要求:使用2个print(),分别输出 "明月几时有"和”把酒问青天“两句,但输出结果时在一行 (取消print的换行功能)
## 4.编写程序,要求输入姓名和年龄,并且将年龄加10之后与姓名一起输出。
## 5.a=2,b=3,要求,将a和b的值调换,并打印结果(至少2种方法)
## 6.如何简单判断一个数是奇数还是偶数?(用代码说明 或者 文字说明都行 结果是True表示偶数,结果是False表示奇数)
练习答案(答案不是唯一)
# 1.计算100除以3得到的商、余数分别是多少?
print(100/3)
print(100%3)
# 2.用户输入两个数字,输出两个数字之和:
sum_1=input("用户输入第一个数字为: ")
sum_2=input("用户输入第二个数字为: ")
print(int(sum_1)+int(sum_2))
# 3.要求:使用2个print(),分别输出 "明月几时有"和”把酒问青天“两句,但输出结果时在一行 (取消print的换行功能)
print("明月几时有",end='')
print("把酒问青天")
# 4.编写程序,要求输入姓名和年龄,并且将年龄加10之后与姓名一起输出。
name=input("请输入姓名: ")
age=input("请输入年龄: ")
print(int(age)+10)
print(name)
# 5.a=2,b=3,要求,将a和b的值调换,并打印结果(至少2种方法)
'第一种'
a=2
b=3
a,b=b,a
print(a,b)
# '第二种: '
a=2
b=3
m=a
a=b
b=m
print(a,b)
# 6.如何简单判断一个数是奇数还是偶数?(用代码说明 或者 文字说明都行 结果是True表示偶数,结果是False表示奇数)
odd_numbers=int(input("请输入一个数:"))
if odd_numbers%2==0:
print('True')
else:
print('Flase')