Python运算及字符串判断

1. 运算符

1.1 算数运算符

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

1.2 算数运算符

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

1.3 赋值运算符

赋值运算符的特殊写法 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 )

1.4 比较运算符

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

    == 比较两个对象的值是否相等
    != 比较两个对象的值是否不相等
    is 比较两个对象是否是同一个对象,比较的是对象的id
    is not 比较两个对象是否不是同一个对象,比较的是对象的id

1.5 逻辑运算符

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

and运算,以下假设变量 a 为 10, b为 20:

a = 10
b = 20
print(a and b)
# 输出结果为20
a = 10
b = 0
c = 5
d = a and b and c
print(d)
# 输出结果为0
or逻辑或
  • 或运算两个值中只要有一个True,就会返回True
  • 或运算是找True的

or运算,同样假设变量 a 为 10, b为 20:

a = 10
b = 20
print(a or b)
# 输出结果为10
not 逻辑非
  • not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True
a = 10
b = 20
print(not (a and b))
# 输出结果为False
a = 10
b = 0
print(not (a and b))
# 输出结果为True

1.6条件运算符(三元运算符)

在这里插入图片描述
条件运算符在执行时,会先对条件表达式进行求值判断,如果判断结果为True,则执行语句1,并返回执行结果。如果判断结果为False,则执行语句2,并返回执行结果。
语法: 语句1 if 条件表达式 else 语句2

a = 10
b = 20
c = a if a > b else b
print(c)
# 返回结果20

1.7运算符优先级

在这里插入图片描述

2. 字符串判断方法

函数含义
字符串.isalnum()所有字符都是数字或者字母,为真返回 Ture,否则返回 False。
字符串.isalpha()所有字符都是字母,为真返回 Ture,否则返回 False。
字符串.isdigit()所有字符都是数字,为真返回 Ture,否则返回 False。
字符串.islower()所有字符都是小写,为真返回 Ture,否则返回 False。
字符串.isupper()所有字符都是大写,为真返回 Ture,否则返回 False。
字符串.istitle()所有单词都是首字母大写,为真返回 Ture,否则返回 False。
字符串.isspace()所有字符都是空白字符,为真返回 Ture,否则返回 False。

3. 练习

# a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现
a,b = 6,8
c = b
b = a
a = c
print(a,b)
# 完成字符串的逆序以及统计
# 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
# 打印出字符串长度
# 使用切片逆序打印出字符串
while True:
    passwd = input("请输入用户名密码:")
    b = len(passwd)
    print("输入的密码长度:%s" % b)
    if b > 31:
        print("输入的密码过长,请重新输入")
        continue
    else:
        ll = list(passwd)
        ll.reverse()
        st = "".join(ll)
        print("输入正确,逆序为:%s" %st)
        break
# 要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
# 用户名长度6-20,用户名必须以字母开头
# 密码长度至少6位,不能为纯数字,不能有空格
while True:
    user = input("请输入用户名:")
    passwd = input("请输入密码:")
    ll = list(user)
    one = ll[0]
    if len(user) > 20 or len(user) < 6:
        print("请输入6-20为用户名")
        continue
    elif one.isalpha() == False:
        print("首字符必须是字母")
        continue
    elif len(passwd) < 6:
        print("密码小于6位,重新输入")
        continue
    elif passwd.isdigit() == True:
        print("密码不允许全部为数字")
        continue
    for space in passwd:
        if space.isspace() == True:
            print("密码中不能有空格")
            break
    else:
        print("登录成功")
        break
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页