• 流程控制代码练习


    练习题

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

    编译型语言需要编译器,一次编译完成,相当于谷歌翻译。如c语言,运行速度快,但是调试麻烦

    解释型语言需要解释器,一行一行解释,相当于同声传译。如Python,执行速度慢,但是调试方便

    1. 执行 Python 脚本的两种方式是什么
    一种是命令行交互式,一种是以文件形式
    1. Pyhton 单行注释和多行注释分别用什么?

    单行注释 : #

    多行注释 : ''' '''

    1. 布尔值分别有什么?
    布尔值有两种,分别是True和False,所有数据类型都自带布尔值,除0,none,空外都是true;
    1. 声明变量注意事项有那些?

    变量有三个特性,id,type,value。

    id指的是变量的内存地址,id相同value一定相同,value相等id不相等

    type指的是变量的数据类型

    value指的是变量的值

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

    name = 'jinrui'

    print(id(name))

    1. 写代码
      1. 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
        1 name = input('请输入姓名》》')
        2 pwd = input('请输入密码》》')
        3 if name == 'seven' and pwd == '123' :
        4     print('登录成功')
        5 else:
        6     print('登录失败'
      2. 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
         1 count = 1
         2 while count <= 3:
         3     name = input('请输入姓名》》')
         4     pwd = input('请输入密码》》')
         5     if name == 'seven' and pwd == '123':
         6         print('登录成功')
         7         break
         8     else:
         9         print('账号或密码错误')
        10         count+=1
        11 else:
        12     print('登录失败')
      3. 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
         1 count = 1
         2 while count <= 3:
         3     name = input('请输入姓名》》')
         4     pwd = input('请输入密码》》')
         5     if (name == 'seven' or name == 'alex') and pwd == '123':
         6         print('登录成功')
         7         break
         8     else:
         9         print('账号或密码错误')
        10         count+=1
        11 else:
        12     print('登录失败') 
    2. 写代码
      a. 使用while循环实现输出2-3+4-5+6...+100 的和

       2 sum = 0
       3 i = 2
       4 while i < 101:
       5     if i%2 == 0:
       6         sum = sum +i
       7     else:
       8         sum = sum -i
       9     i+=1
      10 print(sum)

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

      1 count = 1
      2 while count < 13:
      3     print(count)
      4     count+=1

      1 count =1
      2 while count<100:
      3 if count%2 ==1:
      4 print(count)
      5 count+=1

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

      1 count = 1
      2 while count <=100:
      3     if count % 2 == 0:
      4         print(count)
      5     count += 1 
    3. 现有如下两个变量,请简述 n1 和 n2 是什么关系?

          n1 = 123456
          n2 = n1
      n1 和 n2 都指向同一个地址,所对应的变量值是相等的

    编写登录接口

    基础需求:

    • 让用户输入用户名密码
    • 认证成功后显示欢迎信息
    • 输错三次后退出程序
    • *****
    • 方式一:
      1
      count = 1 2 while count <= 3: 3 name = input('请输入姓名》》') 4 pwd = input('请输入密码》》') 5 if name == 'egon' and pwd == '123': 6 print('欢迎登录') # 登录成功后不退出,而且要在三次错误之后打印登录失败 7 input('请进行后续操作》》') 8 else: 9 print('账号或密码错误') 10 if count == 3: 11 print('登录失败') 12 count += 1
      方式二:
      1
      dic={ 2 'egon1':{'password':'123','count':0}, 3 'egon2':{'password':'123','count':0}, 4 'egon3':{'password':'123','count':0}, 5 6 } 7 8 9 while True: 10 name=input('username>>: ') 11 12 if not name in dic: 13 print('用户不存在') 14 continue 15 if dic[name]['count'] > 2: 16 print('尝试次数过多,锁定') 17 continue 18 19 password=input('password>>: ') 20 21 22 if password == dic[name]['password']: 23 print('登录成功') 24 break 25 else: 26 print('用户名或密码错误') #走到这一步说明账号正确,不应该继续输入账号,只需要输入密码,如何实现? 27 dic[name]['count']+=1

    升级需求:

    • 可以支持多个用户登录 (提示,通过列表存多个账户信息)
    • 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
       1 #db.txt内容:egon1|egon2|
       2 dic={
       3     'egon1':{'password':'123','count':0},
       4     'egon2':{'password':'123','count':0},
       5     'egon3':{'password':'123','count':0},
       6 }
       7 count=0
       9 while True:
      10     name=input('u>>: ')
      11     if name not in dic:  #name只能输入egon1等,否则会提示用户不存在
      12         print('用户不存在')
      13         continue
      14 
      15     with open('db.txt','r') as f:
      16         lock_users=f.read().split('|')
      17         if name  in lock_users:
      18             print('用户%s已经被锁定' %name)
      19             break
      20 
      21     if dic[name]['count'] > 2:  #dic['egon1']['count']
      22         print('尝试次数过多,锁定')
      23         with open('db.txt','a') as f:
      24             f.write('%s|' %name)
      25         break
      26 
      27     password=input('p>>: ')
      28 
      29     if password == dic[name]:
      30         print('登录成功')
      31         break
      32     else:
      33         print('用户名或密码错误')
      34         dic[name]['count']+=1

    #变量作为条件嵌套,先验证登录,登录之后进行操作

     # while循环嵌套 
     2 count =0
     3 tag = True
     4 while tag:
     5     name = input('请输入姓名:》》')
     6     pwd = input('请输入密码:》》')
     7     if name == 'jinrui' and pwd == '1225':
     8         print('登录成功')
     9         choice = {1:'浏览商品',2:'添加购物车',3:'正在支付',4:'退出'}
    10         print('-----列表项-----')
    11         print(choice[1])
    12         print(choice[2])
    13         print(choice[3])
    14         print(choice[4])
    15         while tag:
    16 
    17             num = input('请输入指令1,2,3,4:》》')
    18             num = int(num)
    19             if num ==1:
    20                 print(choice[1])
    21             elif num ==2:
    22                 print(choice[2])
    23             elif num ==3:
    24                 print(choice[3])
    25             else:
    26                 tag =False
    27 
    28     else:
    29         print('账号或密码错误')
    30     count +=1
    31     if count==3:
    32         print('错误次数过多,不能继续输入')
    33         break
    34 else:
    35     print('结束')
    # 1. 使用while循环输出1 2 3 4 5 6     8 9 10
    1 count = 1
    2 while count <=10:
    3     if count ==7:
    4         count+=1
    5         continue
    6     print(count)
    7     count+=1
    # 2. 求1-100的所有数的和
    1 count = 1
    2 sum = 0
    3 while count <= 100:
    4     sum=sum+count
    5     if count ==100:
    6         print(sum)
    7     count+=1
    # 3. 输出 1-100 内的所有奇数
    # 4. 输出 1-100 内的所有偶数
     1 count = 1
     2 while count <=100:
     3     print(count)
     4     count+=2
     5 
     6 
     7 count =1
     8 while count <= 100:
     9     if count%2 ==0:
    10         print(count)
    11     count+=1
    # 5. 求1-2+3-4+5 ... 99的所有数的和
     1 count = 1
     2 num = 0
     3 while count < 100:
     4     if count % 2 == 1:
     5         num = num + count
     6         count += 1
     7     else:
     8         num = num - count
     9         count += 1
    10 print(count)
    11 
    12 
    13 num = 0
    14 for i in range(100):
    15     if i%2==1:
    16         num = num +i
    17     else:
    18         num = num -i
    19 print(num)
    # 7:猜年龄游戏
    # 要求:
    # 允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
     1 count = 1
     2 while True:
     3     age = input('请输入年龄》》')
     4     if age == '84':
     5         print('成功了')
     6         break
     7     else:
     8         print('猜错了')
     9         if count ==3:
    10             break
    11         count+=1
    # 8:猜年龄游戏升级版
    # 要求:
    # 允许用户最多尝试3次
    # 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
    # 如何猜对了,就直接退出
     1 count = 1
     2 while True:
     3     age = input('请输入年龄》》')
     4     if age == '84':
     5         print('成功了')
     6         break
     7     else:
     8         print('猜错了')
     9         if count ==3:
    10             answer =input('是否继续》》')
    11             if answer == 'y' or answer =='Y':
    12                 count =1
    13                 continue
    14             else:
    15                 break
    16         count+=1
  • 相关阅读:
    JS调用WebService
    C# FTP FtpWebRequest UsePassive 属性
    vs2010 rdlc .net4.0 卸载 Appdomain 时出错。 (异常来自 HRESULT:0x80131015) 解决办法
    DotNetBar RibbonControl控件office2007风格
    C# WinForm RDLC报表不预览直接连续打印
    C# 调用 WebService 连接ORACLE 11g
    C# WinForm程序打印条码 Code39码1
    RDLC报表 在WinForm里运行出现 未能加载文件或程序集microsoft.reportviewer.winforms
    C# 使用 SAP NCO3.0 调用SAP RFC函数接口
    在ui自动化中,如果有多个case在不同的class 下,要全部执行并且要求只启动一次浏览器页面,怎么处理?
  • 原文地址:https://www.cnblogs.com/xuechengeng/p/9648444.html
Copyright © 2020-2023  润新知