python变量、运算符、要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入练习

1、变量

变量的概念?

  • 变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
  • 变量命名规则
    •变量名由字母、数字、下划线组成要符合标识符的命名规范
    • 数字不能开头
    • 不能使用关键字

变量的运算
在这里插入图片描述

  • 变量运算和正常的四则运算一样,值得注意的是在匀速那过程中含有浮点数,运算后输出的值也是浮点数类型。

2、变量在内存中的原理

原理:变量在内存中就是一块特定的存储区域(地址)。

1. 引用变量

  • 两个引用指向同一 int 数据
a=10
b=10
print(id(a),id(b))
  • 结果:地址一样

在这里插入图片描述

  • 两个引用指向同一个str数据
a='slbsvbsbh'
b='slbsvbsbh'
print(id(a),id(b))
  • 结果:地址一样

在这里插入图片描述

  • 两个引用指向同一个list数据
a = [1,2,3]
b = [1,2,3]
print (id(a),id(b))
  • 结果:地址不一样

在这里插入图片描述

2. 拷贝

list1 = [1, 2, 3]
list2 = list1.copy()
print(id(list1), id(list2))
  • 结果:地址不一样

在这里插入图片描述

3、运算符

3.1 运算符的概念

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

3.2 运算符的分类

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

3.3 算术运算符

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

3.4 赋值运算符

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

3.5 比较运算符

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

3.6逻辑运算符

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

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

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

3.6.4 非布尔值的与或运算

  • 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
    • 非布尔值与运算的规则
    • 与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值

  • 非布尔值或运算的规则
    • 或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值

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

在这里插入图片描述
语法:

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

如:
a = 3
if a <= 3:
	a = a+1
else:
	a = 0
  • 条件运算符在执行时,会先对条件表达式进行求值判断
    如果判断结果为True,则执行语句1,并返回执行结果
    如果判断结果为False,则执行语句2,并返回执行结果

3.7 运算符的优先级

运算符优先级参照表
在这里插入图片描述

作业练习

1.a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现

'a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现'
a,b = 6,8
# 方法一:
c = a
a = b
b = c
print(a,b)

# 方法二:
list = [a,b]
a = list[1]
b = list[0]
print(a,b)

  • 结果:
    方法一:
    在这里插入图片描述
    方法二:
    在这里插入图片描述

2. 完成字符串的逆序以及统计
• 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
• 打印出字符串长度
• 使用切片逆序打印出字符串

'''2. 完成字符串的逆序以及统计
• 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
• 打印出字符串长度
• 使用切片逆序打印出字符串'''
n = str(input("请输入字符串:"))
if len(n)<31:
    print(len(n),n[::-1])
else:
    print("输入的内容有误,请检查后重新输入!!!")
  • 结果:
    在这里插入图片描述

3.要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
• 用户名长度6-20,用户名必须以字母开头
• 密码长度至少6位,不能为纯数字,不能有空格

'''3. 要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
• 用户名长度6-20,用户名必须以字母开头
• 密码长度至少6位,不能为纯数字,不能有空格 '''
while True:
    #获取用户名输入
    username = input("请输入用户名:")
    if username == 'quit':
        break
    # 校验用户名格式是否在6-20之间,查看用户名是不是以字母开头
    if 6>len(username) or len(username)>20 or username[0] not in "abcdefghijklmnopqrstuvvwxyaABCDEFGHIJKLMNOPQRTSUVWXYZ":
        print(username[0])
        print("请输入有效的用户名,长度6-20,且必须以字母开头")
        print("请重新输入!!!")
        continue
    # 获取密码输入
    passwd = input("请输入密码:")
    # 校验密码格式6位,不能为纯数字,不能有空格
    if len(passwd) < 6 or passwd.isdigit() or " " in passwd:
        print("密码长度至少6位,不能为纯数字,不能有空格")
        print("请重新输入")
        # 如果不正确直接重新开始 ,所以使用continue
        continue
    print("校验成功!!,请输入quit退出。")
  • 结果:
    在这里插入图片描述

总结

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

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

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Python独角兽

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

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

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

打赏作者

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

抵扣说明:

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

余额充值