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 = py()
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
# ⽅法⼀:
c = a
a = b
b = c
print(a,b)
# ⽅法⼆:
list = [a,b]
a = list[1]
b = list[0]
print(a,b)
结果:
⽅法⼀:
⽅法⼆:
2. 完成字符串的逆序以及统计
• 设计⼀个程序,要求只能输⼊长度低于31的字符串,否则提⽰⽤户重新输⼊
• 打印出字符串长度
• 使⽤切⽚逆序打印出字符串
n = str(input("请输⼊字符串:"))
if len(n)<31:
print(len(n),n[::-1])
else:
print("输⼊的内容有误,请检查后重新输⼊")
结果:
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退出。")
结果:
总结
本⽂为学习笔记,转载请标明出处,本⽂仅供交流学习,请勿⽤于⾮法途径,希望本⽂对⼤家有帮助。仅是个⼈意见,如有不⾜之处或者侵权,请留⾔
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论