python第二天

登陆账号实例

Q:登陆三次自动锁定账号,通过异常地捕捉与处理实现
实现用户名的持久化


import json

''' 这部分初次进入时注册初始用户,当账户被锁定时,捕捉异常,不再出现此部分
_username = input("请注册账号:")
_password = input("请输入初始密码:")
user = {"user":_username,
        "passwd":_password
        }
#写字典

with open("passwd","w",encoding=("utf-8")) as f:
     json.dump(user,f)
     #将字典写入f文件
     f.close()
'''

try:
    with open("passwd","r",encoding=("utf-8")) as f:
        _user = json.load(f)
        #直接读文件
        _username = _user["user"]
        #从字典中取出元素
        _password = _user["passwd"]
    f.close()
#关闭文件
except json.decoder.JSONDecodeError:
    print("您的账号已经锁定,请联系管理员")

i = 0
while i < 3:
    username = input("username:")
    password = input("password:")
    if username == _username and password ==_password:
        print("logginning...")
        exit()
    else:
        if i == 2:
            with open("passwd","a",encoding=("utf-8")) as f:
                f.write("#")
                print("用户账号已锁定...")
        else:
            print("username or password error...")
            print("请再输入一次...")
    i += 1

一.数值型

1.整形(int)

Python2中分为长整型(long),整形(int),短整形(short)
Python3中只有整形,不分长短型
使用type()查看数据类型

>>> a = 77777
>>> print(type(a))
<type 'int'>

2.浮点型(float)

浮点型数值用于保存带小数点的数值,Python 的浮点数有两种表示形式:

十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须包含一个 小数点,否则会被当成整数类型处理。

科学计数形式:例如 5.12e2(即 5.12×102)、5.12E2(也是 5.12 ×102)。

>>> a=1.0
>>> print(type(a))
<type 'float'>

二.布尔型(bool)

布尔值只有两种Ture或者Flase
非0和非空的值为Ture,0或空值为Flase

三.字符串

1.简介

字符串是由数字,字母,下划线组成的一串字符,使用时需要用引号

python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头

要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其 中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。并且取值时去头不取尾,最后一个值取不到。

>>> a="abcdefg"
>>> a[:]
'abcdefg'
>>> a[3:]
'defg'
>>> a[3:5]
'de'

2.特殊符号+和*

(+)字符串连接运算符
( * )重复操作

>>> a="abcdefg"
>>> print(a+"hahaha")
abcdefghahaha
>>> print(a*3)
abcdefgabcdefgabcdefg //无间隔重复输出

3.设置步长有间隔截取字符串

>>> a="abcdefg"
>>> print(a[1:4:2])
bd

此处[]中第三个数字代表步长,此时步长为2,表示相隔一个字符去一次字符值

4.字符串的众多方法实现不同需求(此处只简单介绍少部分方法)

>>> name="zhang yue"
>>> print(name.title())  //全部输出
Zhang Yue
>>> print(name.upper())  //全部转换为大写输出
ZHANG YUE
>>> print(name.lower())  //全部转换为小写输出
zhang yue
>>> name="\tpython\t"  
>>> print(name)
        python
>>> print(name.rstrip())   //删除右边所有空格
        pythoy
>>> print(name.lstrip())   //删除左边所有空格
python
>>> print(name.strip())     //删除左右两边所有空格
python
.........

四.列表(list)

1.简介

列表是由一系列特定元素顺序排列的元素组成的,它的元素可以是任何数据类型即数字、字符串、列表、元组、字典、布尔值等等,同时其元素也是可修改的,使用[]标识。

2.列表中的方法

>>> names = ["zhangsan","lisi","wanger","xx"]
>>> print(names[names.index("xx")])
xx
>>> print(names.count("lisi"))  //打印索引值
1
>>> names.reverse()
>>> print(names)
['xx', 'wanger', 'lisi', 'zhangsan']
>>> names.sort()  //排序
>>> print(names)
['lisi', 'wanger', 'xx', 'zhangsan']
>>>

五.元组(与list类似 )

元组是另一个数据类型,类似于 List(列表)。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

六.字典(dictionary)

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典 是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

>>> tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
>>> print(tinydict) //输出完整字典的值
{'dept': 'sales', 'code': 6734, 'name': 'john'}
>>> print(tinydict.keys())  //输出字典所有键
['dept', 'code', 'name']
>>> print(tinydict.values())  //输出所有值
['sales', 6734, 'john']

七.集合

集合:集合是一个无序的,不重复的数据集合,可以使用大括号 { } 或者 set() 函数创建集合。

注意:创 建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合可以实现去重和两集合间的关系测试

>>> list_1 = [1,4,57]
>>> list_1 = set(list_1)
>>> print(list_1,type(list_1))
(set([1, 4, 57]), <type 'set'>)
>>> list_2 = set([1,8,3])
>>> print(list_1,list_2)
(set([1, 4, 57]), set([8, 1, 3]))
>>> print(list_1.intersection(list_2))  //求list_1和 2的交集
set([1])
>>> print(list_1.union(list_2))  //求list_1和 2的并集
set([1, 3, 4, 8, 57])
>>> print(list_1.difference(list_2))  //求list_1和 2的差集
set([57, 4])

八.流程控制

1.判断

判断结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字

elif主要用于多个判断条件连续执行,由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需 同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表 示只有两个条件同时成立的情况下,判断条件才成功

num = 5 
if num == 3:  # 判断num的值        
 print('boss') 
elif num == 2:        
 print('user') 
elif num == 1:    
 print('worker') 
elif num < 0:  # 值小于零时输出    
 print('error') 
else:    
 print('roadman')  # 条件均不成立时输出

2.循环

<1>whie 循环
在给定的判断条件为 true 时执行循环体,否则退出循环体。

<2>for 循环
重复执行语句

continue,break 来跳过循环,continue 用于跳过该次循环, break 则是用于退出循环

pass语句
Python pass 是空语句,是为了保持程序结构的完整性。 pass 不做任何事情,一般用做占位语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值