你的位置:首页 > 软件开发 > 操作系统 > day1_17

day1_17

发布时间:2017-09-09 06:00:08
一、应用练习1.需求练习编写登陆接口要求:让用户输入用户名密码认证成功后显示欢迎信息输错三次后退出程序#!/usr/bin/env python#coding:utf-8time=0data={ 'zhangsan':{'ps':'zs12 ...

一、应用练习

1.需求练习

编写登陆接口

要求:

  • 让用户输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后退出程序
day1_17day1_17
#!/usr/bin/env python#coding:utf-8time=0data={ 'zhangsan':{'ps':'zs123'}, 'lisi':{'ps':'ls123'},}while time < 3: name = input('请输入姓名:') if not name in data:  print('无此用户')  continue password = input('请输入您的密码:') if password == data[name]['ps']:  print('Log in successfully') else:  print('用户名或密码错误')  time+=1else: print('超过最大次数')
代码

 

升级需求 

  • 可以支持多个用户登录 
  • 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态
day1_17day1_17
#存储用户data={ 'zhangsan':{'ps':'zs123'}, 'lisi':{'ps':'ls123'}}#打开同目录下名字为user的文件(只读),#把读到的内容给变量#正查关闭文件us1=open('user','r')name=us1.read()us1.close()time=0while time < 3: user=input('your name >>> ') if not user:continue if user in name :  print('The account!')  break  #输入的名字等于在文件里读取到的内容则告诉用户为锁定状态,并推出循环。 elif not user in data:  print('Without this user\n')  continue  #如果输入的名字不等于已知的用户名,告诉用户后跳出本次循环。 else:  passwod = input('password >>> ')  if passwod == data[user]['ps']:   print('Log in successfully')   exit()   #如果密码对的话,正常登陆后退出脚本  else:   print('User name or password error!\n')   time+=1   #密码输入错误,告诉用户并重新输入用户名密码,纪录次数else: print('超过最大次数,请联系管理员') record=open('user','a') record.write('%s\n'%user) record.close() exit() #达到三次后告诉用户并打开user文件追加已经输入3次的用户名后正常关闭文件。
代码

 

2.日常练习

 简述编译性与解释型语言的区别,且分别列出你知道的那些语言属于编译型,哪些属于解释型?

day1_17day1_17
编译型语言为一次行读入所有内容,一次性执行所有内容优点:执行速度快,等同条件下对系统要求较低缺点:不方便代码测试、排错,调试不方便编译型语言包括:C/C++、Pascal/Object Pascal(Delphi)解释型语言为逐行翻译行,一行一行执行优点:方便代码的调试,及时发现问题及时解决缺点:执行速度相对编译性语言慢解释型语言包括:python、Java、C#、JavaScript、VBScript、Perl、Ruby、MATLAB
偏见

 

执行 Python 脚本的两种方式是什么?

shell模式运行适合脚本中某段代码的调试;利用解释器运行,python的功能最全,官方推荐。

 

Pyhton 单行注释和多行注释分别用什么?

单行注释用"#",多行注释用三引好"'''"或四引号""""""

 

布尔值分别有什么?

True和False,真或假

 

声明变量注意事项有那些?

day1_17day1_17
1、变量名职能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头。例:1_agent是错误的方式,应该写为 agent_1。2、变量名不能包含空格,但可使用下划线来分割其中的单词。例:installed apps 这样会引起错误,正确的方式为installed_apps。3、Python关键字喝函数名不能用做变量,即不可以使用Python保留用于特殊用途的单词。4、慎用小写字母l喝大写字母O,可能被人错看成数字1和0。5、变量名应既简短又具有描述性。
注意事项

 

如何查看变量在内存中的地址?

print(id(x))

 

3.代码练习

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

day1_17day1_17
name='seven'ps=123user=input('输入用户名: ')password=input('输入密码: ')#print(type(ps),type(password))if user==name and int(password)==ps: print('登陆成功')else: print('登陆失败')
代码

 

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

day1_17day1_17
name='seven'ps=123time=0while time < 3: user = input('输入用户名: ') password = input('输入密码: ') if user==name and int(password)==ps:  print('登陆成功') else:  print('登陆失败')  time+=1
代码

 

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

day1_17day1_17
data={ 'seven':{'ps':'123'}, 'alex':{'ps':'123'}}time=0while time < 3: user = input('输入用户名: ') password= input('输入密码: ') if user in data and password==data[user]['ps']:  print('登陆成功') else:  print('登陆失败')  time+=1
代码

 

使用while循环实现输出2-3+4-5+6...+100 的和。

day1_17day1_17
i=2n=0while i <=100: if i%2==0:  n+=i else:  n-=i i+=1 print(n)
代码 while实现

 

使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12;使用 while 循环实现输出 1-100 内的所有奇数;使用 while 循环实现输出 1-100 内的所有偶数。

day1_17day1_17
#while循环固定数i=1while i<13: if i==6 or i==10:  i+=1  continue print(i) i+=1#while循环奇数i=1while i<=100: if i%2==1:  print(i) i+=1#while循环偶数i=1while i<=100: if i%2==0:  print(i) i+=1
代码

 

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

      n1 = 123456

      n2 = n1

公用一个内存(id号想等)的两个变量print(id(n1),id(n2))

 

 

二、格式化输出练习

要求:

day1_17day1_17
练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式------------ info of Egon -----------Name : EgonAge : 22Sex : maleJob : Teacher ------------- end -----------------
练习1

代码:

#!/usr/bin/env python

效果:

day1_17

3.2 循环练习

3.2.1、使用while循环输出1 2 3 4 5 6     8 9 10 。

day1_17day1_17
num=1      while num < 11:    if num == 7:     num+=1     continue    print(num)    num+=1    
代码

 

 

3.2.2、求1-100的所有数的和。

day1_17day1_17
a=1      i=0      while a <= 100 :    i+=a # i=i+a   a+=1     print(i)     
代码

 

 

3.2.3、输出 1-100 内的所有奇数;输出 1-100 内的所有偶数。

day1_17day1_17
#奇数num=0     while num < 101:   if num % 2 == 1:    print(num)   num+=1           #  偶数num=0     while num < 101:   if num % 2 == 0:    print(num)   num+=1           
代码

 

 

3.2.4、求1-2+3-4+5 ... 99的所有数的和。

day1_17day1_17
#while循环 num=0     i=0      while i < 100:    if i%2==0:     num-=i    else:      num+=i    i+=1    print(num)    #For num=0     for i in range(100):  if i % 2 == 0:    num = num - i  else:      num = num + i print(num)    ###rslt=0      for n in range(1,100):   rslt += n*(-1,1)[n&1] print(rslt)     
代码

 

 

3.2.5、用户登陆(三次机会重试)。

day1_17day1_17
data={         'zhangsan':{'ps':'zs123'},   'lisi':{'ps':'ls123'}    }          time=0        while time<3:        name = input('your name >>> ')  if not name in data:      print('没有此用户\n')      continue       passwd = input('your password >>>  if passwd == data[name]['ps']:   print('登陆成功!')      exit()       else:          print('用户名或密码错误!\n')     time+=1      else:          print('超出最大登陆次数')     
代码

 

 

3.2.6、猜年龄游戏

要求:

    允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出。

day1_17day1_17
age=36            i=0             while i<3:            user_age=input('Please guess the age > ')   #print(type(age),type(user_age))     if user_age == str(age):        print("That's right. That's good!")     exit()           else:             print('Guess wrong!')        i+=1                       
代码

 

升级版本要求:

允许用户最多尝试3次

    每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序。

    如何猜对了,就直接退出。

day1_17day1_17
age=36            i=0             while i<3:            user_age=input('Please guess the age > ')   #print(type(age),type(user_age))      if user_age == str(age):         print("That's right. That's good!")     exit()           else:             print('Guess wrong!')        i+=1            if i == 3:            con=input('是否继续?继续输入"y"')       if con ==('y'or'Y'):          i = 0            continue           else:             print('坚持才会胜利,拜~')         continue                      
代码

 

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:day1_17

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录