(四) 用户交互与运算符

(一) 用户交互

1.1 输入 input

input输入任何内容,最后的结果都是字符串类型,字符串类型,字符串类型!

input("请输入你的名字:")
input括号内部里面的东西只是一个提示,并没有其他的作用
name = input('请输入你的名字:')
print("你的名字是:"+name)

请输入你的名字:小明
你的名字是:小明


name = input("请输入你的姓名:")
password = input("请输入你的密码:")
print(name)
print(password)

请输入你的姓名:小明
请输入你的密码:123456   
小川
123456     #注意这串数字是字符串

name = input("请输入你的姓名:")
password = input("请输入你的密码:")
print(name)
print(password)
print(type(name))
print(type(password))

请输入你的姓名:aa
请输入你的密码:123456
aa
123456
<class 'str'>  #字符串
<class 'str'>  #字符串

无论我们输入的值是数字类型、字符串类型,input的接收值都是字符串类型

1.2 输出 print

print("hello world")  # 打印一个值
print("first","second",'third')  # 打印多个值
print("100+200="+str(100+200))   #字符串的拼接
print("100+200=",100+200)

hello world
first second third   #逗号打印时是以空格分隔
100+200=300
100+200= 300    

默认print本身有换行的作用,
那么它还有一个参数叫end参数,
这个参数的默认值为"\n",
可以将end参数的值改成任意其他其他字符
print(1,end="ajolscnlnclnqaonfoascoa")
print(2,end="")

1ajolscnlnclnqaonfoascoa2  #这串字符接到了1和2的中间

print(1,end="")   #把end设置为空就是取消换行
print(2,end="")

12

(二) 运算符

算术运算符
赋值运算符
比较运算符
逻辑运算符
成员运算符
身份运算符
运算符优先级

2.1 算术运算符

除法除出来是一个浮点数

假设有两个变量:a=10,b=20

运算符描述实例
+加——>两个数相加a + b 输出结果 30
-减——>得到负数或是一个数减去另一个数a - b 输出结果 -10
*乘——>两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 200
/除——b 除以 ab / a 输出结果 2.0
%取模(取余数)——返回除法的余数b % a 输出结果 0
**幂——返回a的b次幂a**b为10的20次方,输出结果100000000000000000000
//取整数——返回商的整数部分(向下取整)9 // 2 ——>4
()小括号提高运算符优先级,比如(1+2)*3
a = 10
b = 20
print(a+b)
print(a-b)
print(a*b)
print(b/a)
print(b%a)
print(a**b)
print(b//a)

30
-10
200
2.0
0
100000000000000000000
2

2.2 赋值运算符

a = 20

b = 10

c = 200

运算符描述实例
=简单的赋值运算符把 = 号右边的结果 赋给 左边的变量 如:num = 1 + 2 * 3,结果num的值为7
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c *= a 等效于 c = c * a
/=除法赋值运算符c /= a 等效于 c = c / a
%=取模赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c * *= a 等效于 c = c ** a
//=取整数赋值运算符c //= a 等效于 c = c // a
a = 20
b = 10
c = 200

# c+=a  # 等价于c = c+a
c-=a
# 其他的方法与上面这两个同样
print(c)

2.3 比较运算符

a = 10

b = 20

运算符描述实例
==比较对象是否相等(a == b) 返回 False
!=不等于–比较两个对象是否不相等(a != b) 返回 True
>大于–返回x是否大于y(a > b) 返回 False
<小于–返回x是否小于y(a < b) 返回True
>=大于或者等于–返回x是否大于等于y(a >= b) 返回 False
<=小于或者等于–返回x是否小于等于y(a <= b) 返回 True
所有的比较运算符返回1表示真,
返回0表示假,这分别与TrueFalse等价
注意:TrueFalse 的首字母为大写

2.4 逻辑运算符

p为真命题,q为假命题,那么p且q为假,p或q为真,非q为真。and 、or、not(全部都是小写字母)

逻辑运算符含义基本格式说明
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 取反
a = 14 > 6  # True
b = 45 > 90  # False
print(a and b)  # False
print(a or b)  # True
print(not a)  # False 相当于对a取反

False
True
False

逻辑运算符的本质

在python中,andor不一定会计算右边表达式的值,
有时候只计算左边表达式的值就能得到最终结果

对于and运算符,两边的值都为真时最终结果才为真,但是只有其中有一个值为假,那么最终结果就是假,所以python按照下面的规则执行and运算符:

  • 如果左边表达式的值为假,那么就不用计算右边表达式的值,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是假,此时and会把左边表达式的值作为最终结果
  • 如果左边表达式的值为真,那么最终值是不能确定,and会继续计算右边表达式的值,并将右边表达式的值作为最终结果

对于or运算符,情况类似,两边的值都为假的时候最终结果才为假,只要其中有一个值为真,那么最终结果就是真,所以python按照下面的规则执行or运算:

  • 如果左边表达式的值为真,那么就不用计算右边表达式的值,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是真,此时or会把左边表达式的值作为最终结果
  • 如果左边表达式的值为假,那么最终值是不能确定,or会继续计算右边表达式的值,并将右边表达式的值作为最终结果

2.5 成员运算符 in 、not in

用于判断对象是某个集合的元素之一,返回结果是bool值类型
看到成员就会想到这个成员在不在这个集体里面,在与不在的表示就是in和not in咯!

运算符描述实例
in如果在指定的序列中找到值返回True,否则返回Falsea在animals序列中,如果a在animals序列中则返回True
not in如果在指定的序列中没有找到值就返回True,否则返回Falsea不在animals序列中,如果a不在animals序列中就返回True
a = 'dog'
b = 'rabbit'
animals = ["dog","elephant","snake"]
print(a in animals)  # True
print(b in animals)  # False
print(a not in animals)  # False
print(b not in animals)  # True

2.6 身份运算符 is ,is not (也是返回布尔值)

身份运算符用于比较两个对象的存储单元
看到身份就想到身份不一样住的房子(存储单元)也会不一样,那我们就要看它是不是这个房子的主人,是不是也就是is和not is来表示啦!

运算符描述实例
isis 是判断两个标识符是不是引用自一个对象a is b,类似id(a) == id(b),如果引用的是同一个对象则返回True,否则返回False
is notis not 是判断两个标识符是不是引用自不同的对象a is not b,类似id(a) ! = id(b),如果引用的不是同一个对象则返回结果True,否则返回False

要注意is和==的区别,两者有根本上的区别

is用于判断两个变量的引用是否为同一个对象,而==用于判断变量引用的对象的值是否相等

is比较的是本质(也就是内存地址

==比较的是表面(也就是数值)

a=1
b=1.0
print(a == b)
print(a is b)

True
False

查看某个变量或者对象的内存地址 id()

两个相同的内存地址的对象被认为是同一个对象

a=1
b=1.0
print(id(a))
print(id(b))

1647214704
1647997751656

2.7 运算符的优先级

运算符描述
**指数(最高优先级)
~ + -按位翻转,一元加号和减号(最后两个的方法名为 +@ 和 -@)
* / % //乘,除,取模和取整数
+ -加法减法
>> <<右移,左移运算符
&位 “AND”
^ |位运算符
<= < > >=比较运算符
<> == !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is,is not身份运算符
in,not in成员运算符
not or and逻辑运算符

优先级高的运算符就优先计算或者处理,同级别的就按从左往右的顺序计算(赋值运算符除外,它是从右往左的顺序)

  • 算术运算符 优先级大于 比较运算符
  • 比较运算符 优先级大于 逻辑运算符
  • 逻辑运算符的内部有三个优先级:not>and>or

以上三个优先级从高到低总结:加减乘除>比较运算符>not>and>or

如何记not,and,or这三个优先级顺序?
首先抽出not,and,or三个单词首字母,nao,发现nao就是中文的谐音,所以我们就可以编口诀:

逻辑运算真闹(nao)心,真真假假分不清

回忆环节
nao—not,and,or

你学废了吗O(∩_∩)O哈哈~

小试牛刀

1.用户输入两个数完成两个数的加法运算

2.使用两个print(),一行输出"我叫xxx"和"年龄xx"

做完练习可参考下方的答案

往下拉有答案👇

====================

====================

====================

====================

====================

====================

====================

====================
1.用户输入两个数完成两个数的加法运算
法一:

a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print(a+b)

法二:
a = input(“请输入第一个数:”)
b = input(“请输入第二个数:”)
print(int(a)+int(b))

2.使用两个print(),一行输出"我叫xxx"和"年龄xx"

print("我叫小明",end=" ")
print("年龄18")
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值