python开发学习笔记之一(用户登录接口)
2018-07-22 05:57:37来源:博客园 阅读 ()
第一个程序hello world:
print(‘hello world’)
变量 (Variable;var):
用来把程序运算的中间结果临时存储在内存中,方便后续的调用
<变量名> = <变量内容>
name = 'wilbur0402'
变量名命名规则:
变量名只能是字母、数字、下划线的任意组合
不建议的命名:
汉字 拼音 词不达意 过长
ps:当一个变量b指向另一个变量a时,实际上是指向那个变量a所指向的内容
a = 1 b = a >>> b = 1 a = 3 >>> b = 1
常量:
不变的量就是常量,约定俗成的,变量名全部大写就是常量
读取用户输入:
input( )函数,输入的内容数据类型默认是字符串
当执行到input()时,等待用户输入内容
注释:
#这是一行注释 ''' 这是多行注释, 用三个单引号。 '''
info = ''' --------- info of %s --------- Name: %s Age: %s Job: %s Hometown: %s ------------- end ------------ '''%(name,name,age,job,hometown)
if 条件: 。。。 elif 条件: 。。。 elif 条件: 。。。 else : 。。。
多分支练习题:
1 mark = int(input('pleaese input your mark:')) 2 3 if mark>100: 4 print('分数不能大于100') 5 6 elif mark >= 90: 7 print('your mark level is A') 8 9 elif mark >= 80: 10 print('your mark level is B') 11 12 elif mark >=60: 13 print('your mark level is C') 14 15 elif mark >=40: 16 print('your mark level is D') 17 18 elif mark >=0: 19 print('your mark level is E') 20 else: 21 print('分数不能是负数') 22
while 条件: 执行代码。。。
#循环打印1-100 count = 0 while count <= 100: print('loop',count) count += 1 print('------loop end---------')
#只打印偶数 count = 0 while count <= 100: if count%2 == 0: print('loop',count) count += 1 print('------loop end---------')
#不打印50,在60-80时打印平方 count = 0 while count <= 100: if count == 50: pass elif count >= 60 and count <=80: print(count*count) else: print('loop',count) count += 1 print('------loop end---------')
while True: 执行代码
1 #猜年龄 2 age = 21 3 count = 0 4 while count <3: 5 guess = int(input('your guess:')) 6 count += 1 7 if guess < 0: 8 print('输入错误!') 9 elif guess > age: 10 print('猜得太大了!') 11 elif guess < age: 12 print('猜得太小了!') 13 else: 14 print('猜对了!') 15 break 16 if count == 3: 17 ctn = input('想继续吗?(Y/N)') 18 if ctn =='Y': 19 count=0
第一次作业是做用户登录接口:
作业要求:
基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
第一次全功能实现的代码:
# author:wilbur0402 userdata = { 'zhangsan':'aaa111', 'lisi':'bbb222', 'wangwu':'ccc333' } count = 0 f = open('黑名单','a+',encoding='utf-8')#打开文件 f.seek(0)#重置文件指针位置 data = f.read() while True: #三次循环体 user = input('please input your username:') ban = user#为黑名单格式化保留裕量 if ban not in data: #确认用户输入不在黑名单内 passwd = input('please input your password:') count += 1 if count < 3: if user in userdata and passwd == userdata[user]: #判断用户输入账号密码是否对应 print('welcome %s back!' % user) break else: print('invalid username or password!') else: #尝试三次输入错误后将用户输入账号写入黑名单并跳出循环 print('you inputed invalid username or password 3 times!') if user in userdata and user not in data: f.write('%s\n'%user) break elif user == '': #过滤空字符输入 print('invalid username!') else: #当用户输入在黑名单内时返回封禁信息 print('your account is banned!') break
这里我并没有用需求中所提示的用列表来保存用户信息,而是使用了字典
总结:
在debug时,遇到了空字符被ban的bug,困惑了好久,经过我的深思熟虑(?),我忘了可以用多分支来解决空字符输入问题。
经过我的测试,可以实现全部功能。
瞎聊几句:
说实话,这个作业我做了不下五次,但是每次都会遇到问题,而且遇到的问题还总是不一样的,让我十分的难受,不过总算在刘伟同学的帮助下,搞定了这些问题。
经过老师的批改,我应该注意一下问题:
缩进标准为四个空格、注释的#应该有一个空格。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash