python 运算符及 字符串格式化输出方式 if条件语句判断 random函数简单应用练习

python 运算符及 字符串格式化输出方式 if条件语句判断 random函数简单应用练习


1、运算符的概念

• 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”

2、运算符的分类

• 算术运算符
• 赋值运算符
• 比较运算符(关系运算符)
• 逻辑运算符
• 条件运算符(三元运算符)

2.1 算术运算符

• 加法运算符 表现形式 +
• 减法运算符 表现形式 -
• 乘法运算符 表现形式 *
• 除法运算符 表现形式 /
• // 整除,只会保留计算后的整数位,总会返回一个整型
• % 取模,求两个数相除的余数
• ** 幂运算,求一个值的几次幂

# @Author     :莲花街一灯大师
# @File       :算术运算符.py

a = 1 + 2        #加法运算符 表现形式 +
a = '1' + '2'    #字符串的加法运算符,结果为‘12’,是将两个字符串拼接在一起,相当于‘1’+‘2‘
a = 1 * 3        #乘法运算符 表现形式 *
a = '1' * 3      # a = '1'+'1'+'1' ='111'
#a = '12' - '2'  #TypeError: unsupported operand type(s) for -: 'str' and 'str'
#a = '12' / 2    #TypeError: unsupported operand type(s) for /: 'str' and 'int'
'''注意:字符串没有减法和除法运算,只能进行加法和乘法运算!!!!'''
a = 10 // 3   # // 整除,只会保留计算后的整数位,总会返回一个整型
a = 10 % 3    # % 取模(余),求两个数相除的余数
a = 2 ** 3    # ** 幂运算,求一个值的几次幂,相当于函数pow(2,3),2为底数,3为幂次
'''
    以上的代码演示,均使用的是a作为变量名进行赋值,在python中,代码的运算是由上而下,采用相同的变量名进行赋值时,\
总会打印最新一次赋值的变量名的值,如:上述的a = 10 % 3和a = 2 ** 3,在print(a)中就会先打印a = 2 ** 3。
'''
print(a)
2.2 赋值运算符

赋值运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的
• += (x+= 3 相当于 x = x + 3 )
• -= (x -= 3 相当于 x= x - 3 )
• *= (x = 3 相当于 x = x 3 )
• **= (x **= 3 相当于 x = x ** 3 )
• /= (x /= 3 相当于 x = x/ 3 )
• //= (x //= 3 相当于 x = x // 3 )
• %= (x %= 3 相当于 x= x % 3 )

# @Author     :莲花街一灯大师
# @File       :赋值运算符.py

x = 3    #将3作为值赋给变量x,其中x为变量名,3为值
x += 3   #相当于 x = x + 3
x -= 3   #相当于 x= x - 3
x *= 3   #相当于 x = x * 3 
x **= 3  #相当于 x = x ** 3 
x /= 3   #相当于 x = x / 3
x //= 3  #相当于 x = x // 3 
x %= 3   #相当于 x= x % 3 
print(x)
2.3 比较运算符

• 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
• > 比较左侧值是否大于右侧值
• >= 比较左侧的值是否大于或等于右侧的值
• < 比较左侧值是否小于右侧值
• <= 比较左侧的值是否小于或等于右侧的值
• 特殊的比较方式
• == 比较两个对象的值是否相等
• != 比较两个对象的值是否不相等
• is 比较两个对象是否是同一个对象,比较的是对象的id
• is not 比较两个对象是否不是同一个对象,比较的是对象的id

# @Author     :莲花街一灯大师
# @File       :比较运算符.py

'比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False'
a = 1 > 2    # > 比较左侧值是否大于右侧值,结果为False
a = '11' > '2'
''' 结果为False,在python中,字符的比较是根据ASCII码表进行的,如’11‘>'2’中,比较时是先用\
    '11'的第一位与‘2’进行比较的,‘1’<'2',所以返回的值为False,如果第一位相同,才进行第二位的比较\
    以此类推。'''
a = 'aa' > 'ab' #值为False

b = 2 >= 1   # >= 比较左侧的值是否大于或等于右侧的值,结果为True
print(b)
c = 1 < 2    # < 比较左侧值是否小于右侧值
c = 1 <= 1   # <= 比较左侧的值是否小于或等于右侧的值

# 特殊的比较方式
d = 3 == 3        # == 比较两个对象的值是否相等
d = 'python' == 'python'   #True
d = 1 == True     #True,布尔中False实际就是1的值,False就是0的值。
d = 1 + True      #值为2
e = 2 != 1        # != 比较两个对象的值是否不相等
f = 1 is True     # is 比较两个对象是否是同一个对象,比较的是对象的id,1是整型,True是bool,返回值是False
g = 1 is not True # is not 比较两个对象是否不是同一个对象,比较的是对象的id,返回值为True.
2.4 逻辑运算符

2.4.1 not 逻辑非
• not可以对符号右侧的值进行非运算,对于布尔值,非运算会对其进行取反操作,True变False,False变True

# @Author     :莲花街一灯大师
# @File       :逻辑运算符.py

# 逻辑非(not)
a = 1
a = not a
a = not 0
a = not None
a = not ''
a = not []
print(a)
'总结:除了0、空串、None和一些表示空性的值会转换为False,其余的所有都可以转换为True(只能进行逻辑True、False判断的时候)'

2.4.2 and 逻辑与
• and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
• 与运算是找False的,如果第一个值为False,则不再看第二个值

# @Author     :莲花街一灯大师
# @File       :逻辑运算符.py
# 逻辑与 and
b = True and True
b = False and False
b= True and False
print(b)

2.4.3 or 逻辑或
• 或运算两个值中只要有一个True,就会返回True
• 或运算是找True的

# @Author     :莲花街一灯大师
# @File       :逻辑运算符.py
# 逻辑或 or
c = False or False
c = False or True
c = True or True
print(c)

2.4.4 非布尔值的与或运算

  • 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
  • 非布尔值与运算的规则
    • 与运算是找False的,如果第一个值是False,则不看第二个值,否则返回第二个值
    • 非布尔值或运算的规则
    • 或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值
# @Author     :莲花街一灯大师
# @File       :逻辑运算符.py
# 逻辑与或的非布尔值运算
# 逻辑与:规则是找False,如果第一个值是False,则不看第二个值,直接返回第一个值,反之则返回第二个值。
res = 1 and 2
res = 1 and 1
res = 0 and 2
res = 0 and None
print(res)
# 逻辑或:规则找True,如果第一个值是True,则不看第二个值,直接返回第一个值,反之则返回第二个值。
abc = 1 or 2
abc = 1 or 0
abc = False or 2
print(abc)
2.5 条件运算符(三元运算符)

在这里插入图片描述

  • 条件运算符在执行时,会先对条件语句中的表达式进行求值判断
    如果判断结果为True,则执行语句1,并返回执行结果
    如果判断结果为False,则执行语句2,并返回执行结果

语法: 语句1 if 条件表达式 else 语句2

# @Author     :莲花街一灯大师
# @File       :条件运算符.py

# 语句1 if 条件表达式 else 语句2
a = 20
b = 30
c = a if b > a else b
print(c)

if b > a :
    c = a
else:
    c = b
print(c)

3、 运算符的优先级

运算符优先级参照表

在这里插入图片描述

练习

  • 以4种格式化字符串的方式来实现 521 xxx 嫁给我好吗?
# @Author     :莲花街一灯大师
# @File       :练习.py

# 以4种格式化字符串的方式来实现 521 xxx 嫁给我好吗?
# 方法一:以%s格式化输出
a = 'lyj'
print( '521:\t%s嫁给我好吗?'%a)

# 方法二:以f'{}'传递参数
c = f'521:\t{a}嫁给我好吗?'
print(c)

# 方法三:format格式化输出
d = '521:\t{}嫁给我好吗?'.format(a)
print(d)

#方法四:通过random.choice()函数进行随机选择
import random
e = ['lyj','sdsbjd','svdjg','dgfhrt','wywgv','wygwagy']
f = '521:\t{}嫁给我好吗?'.format(random.choice(e))
print(f)
  • 现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值
# @Author     :莲花街一灯大师
# @File       :练习.py

# 现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值
import random
a = random.randint(0,6)      #随机取0-4的整数
b = random.randrange(0,10,2)  #随机取0-10且步长为2的整数
c = random.randrange(0,6,2)  #随机取0-6且步长为2的整数
d = [a,b,c]   #将变量放入列表中
# print(max(d))
try: 
    while True:
        if b>=a or b>=c or a>=c:
            e=max(d)
            print(e)
            break
        else:
            print('不符合要求,正在重新请求!')
            continue
except Exception as error:
    print(error)


总结

本文为学习笔记,转载请标明出处,本文仅供交流学习,请勿用于非法途径,希望本文对大家有帮助。

仅是个人意见,如有不足之处或者侵权,请留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python独角兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值