数字,字符串,列表,布尔,元组,字典,集合(小知识点)

变量名的命名规则?

    #1. 变量名只能是 字母、数字或下划线的任意组合

#2. 变量名的第一个字符不能是数字

#3. 关键字不能声明为变量名

定义的方式:

    驼峰式:AgeOldboy=53

下划线:age_oldboy=53

常量:一般是用大写字母AGE_OF_OLDBOY=54

执行过程(重点!!!)

python3 C:\test.py

1、先启动python3.exe

2、把C:\test.py从硬盘读入内存

3、解释执行文件内容(识别python语法)

>>> aa=1
>>> print(type(aa))   ##看类型
<class 'int'>
>>> print(id(aa))   ##看ID值
4459412848

字符串:

##优先掌握操作:

msg='hello world'
#优先掌握的操作:
#1、按索引取值(正向取+反向取) :只能取,顾头不顾尾
>>> print(msg[0:3])
hel
>>> print(msg[5:1:-1])
 oll
>>> print(msg[-1::-1])
##2.长度len()
#print(len(msg)) ##其实调用的是msg._len_()
##3.成员运算
>>> print ('o' in msg)
True
>>> print ('hh' in msg)
False
##4.移除空白strip
>>> passwd='  123 '
>>> print(passwd.strip())
123
>>> name='   yaoruixue'
>>> print(name.strip())
yaoruixue
##5.切分split
>>> user_info='root:x:0:0::/root:/bin/bash'
>>> print(user_info.split(':'))
['root', 'x', '0', '0', '', '/root', '/bin/bash']
>>> print(user_info.split('root'))
['', ':x:0:0::/', ':/bin/bash']
##切分几次
>>> print(user_info.split('root',2))
['', ':x:0:0::/', ':/bin/bash']
>>> print(user_info.split('root',1))
['', ':x:0:0::/root:/bin/bash']

#6.循环
#encoding:utf-8
msg='hello world'
#打印字符串的每个元素
#第一种方法
n=0
size=len(msg)
while n < size:
    print(msg[n])
    n+=1
#第二种方法
for n in msg:
    print(n)

字符串类型总结:

# 1存多个值 # 2 有序 # 3 可变

#需要掌握:移除,移除左边,右边
#1.strip,lstrip,rstrip
name='....yaoruixue....'
print(name.strip('.'))
print(name.lstrip('.'))
print(name.rstrip('.'))
yaoruixue
yaoruixue....
....yaoruixue
##lower,upper(字符串大小写)
print('YaoRuiXue'.lower())
print('YaoRuiXue'.upper())
yaoruixue
YAORUIXUE
##startswith,endswith 以什么开头结尾
msg='yao rui xue'
print(msg.startswith('yao'))
print(msg.endswith('xue'))
print(msg.startswith('a'))
True
True
False
format的三种玩法,格式化字符串的方式,从python2.6新增的。(官方推荐用的方式,%方式将会在后面的版本被淘汰)
print ('my name is %s my age is %d' %('yao',23))
print('my name is {} my age is {}'.format('yao',23))
    my name is yao my age is 23
print('{0} {1} {0}'.format('yao',23)) ##通过位置参数,第一个参数是0,然后1。。
    yao 23 yao
print('my name is {name} my age is {age}'.format(age=19,name='yao'))
names={'name':'Kevin','name2':'Tom'}
print 'hello {names[name]}  i am {names[name2]}'.format(names=names) ##通过字典key
    hello Kevin  i am Tom
#replace替换
msg='hello world my name is yao'
msg=msg.replace('yao','xue',1)
print(msg)

#isdigit判断是否为×××
age=input('>>: ').strip()
if age.isdigit():
    age=int(age)
else:
    print("必须输入数字")
    
#了解
#1、find,rfind,index,rindex,count
#2、center,ljust,rjust,zfill
#3、expandtabs
#4、captalize,swapcase,title
#5、is数字系列
#6、is其他


作业:

1 练习题

  1. 写代码

    1. 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!

    2. 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

    3. 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

  2. 写代码
    a. 使用while循环实现输出2-3+4-5+6...+100 的和
    b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 使用 while 循环实现输出 1-100 内的所有奇数

    e. 使用 while 循环实现输出 1-100 内的所有偶数

  3. 现有如下两个变量,请简述 n1 和 n2 是什么关系?

      n1 = 123456
      n2 = n1

2 作业:编写登陆接口

基础需求:

  • 让用户输入用户名密码

  • 认证成功后显示欢迎信息

  • 输错三次后退出程序

升级需求:

  • 可以支持多个用户登录 (提示,通过列表存多个账户信息)

  • 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)