第一章练习题作业

练习题:

  1. 编译型语言:指程序在从源码到运行前必须由编译器编译链接生成成二进制文件才能运行,每次对程序源码的改动都必须重新编译才能生效,由于是直接编译为二进制机器语言文件,所以执行速度很快,运行不依赖编译器,举例:C/C++,delphi
    解释型语言:程序在源码到运行前无需编译,对代码修改可以立即生效,由语言对应的解释器对源码实时解释运行,执行速度稍慢,运行依赖与相应的解释器,举例:Python,java,JS,php
  2. 执行Python脚本两种方式:1、直接在终端执行Python 手动输入代码输入一句执行一句;2、预先用文本编辑器写好代码,然后用Python执行,示例设代码写在code.py文件里
    直接在终端执行

    1 Python code.py
  3. Python单行注释使用#号,多行注释使用在开始注释行前用3个双引号(”””)标记,注释结束行末尾用3个双引号结束
  4. 布尔值只有True和False两种
  5. 声明变量注意点,变量只能由下划线字母和数字组成,且不能以数字开头,变量名不能与Python语法包含的指令重名,变量名最好能表达变量的含义,最好不要使用中文或者汉语拼音做变量
  6. 可以用id(变量)查看变量在内存中的地址
  7. i.实现用户输入用户名和密码,当用户名为seven且密码为123时登陆成功

    1 username=‘seven‘
    2 password=‘123‘
    3 username_input=input("输入用户名:")
    4 password_input=input("输入密码:")
    5 if username_input ==username and password_input ==password:
    6     print("登陆成功!")
    7 else:
    8     print("用户名或密码错误!")

    ii.在i.基础上增加密码错误次数限制,密码错误超过3次禁止登陆

     1 username=‘seven‘
     2 password=‘123‘
     3 count=3
     4 while count:
     5     username_input=input("输入用户名:")
     6     password_input=input("输入密码:")
     7
     8     if username_input ==username and password_input ==password :
     9         print("登陆成功!")
    10         break
    11     else:
    12         count -= 1
    13         print("用户名或密码错误!剩余可输入错误错误次数:%d" % count)
    14
    15 else:
    16     print("账号密码输入错误次数超限,禁止登陆")

    iii.在ii.基础上增加一个用户名Alex

     1 username1=‘seven‘
     2 username2=‘Alex‘
     3 password=‘123‘
     4 count=3
     5 while count:
     6     username_input=input("输入用户名:")
     7     password_input=input("输入密码:")
     8
     9     if (username_input==username1 or username_input==username2)and password_input==password :
    10         print("登陆成功!")
    11         break
    12     else:
    13         count -= 1
    14         print("用户名或密码错误!剩余可输入错误错误次数:%d" % count)
    15
    16 else:
    17     print("账号密码输入错误次数超限,禁止登陆")
  8. a.使用while循环计算2-3+4-5+6...+100的和

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

    b.使用while循环实现输出1,2,3,4,5....,12

    1 num =1
    2 while num <= 12:
    3     print(num)
    4     num += 1

    c.使用while 实现输出1-100内所有奇数

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

    d.使用while实现输出1-100所有偶数

    1 num = 1
    2 while num <=100 :
    3     if not num % 2:
    4         print(num)
    5     num+=1
  9. 现有如下两个变量,请简述n1和n2的关系

    n1 = 123456
    n2 = n1

    n1和n2是两个变量互不相干,此刻n1和n2的值相等是

作业:

编写登陆接口

基础需求:

  • 让用户输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次退出程序

    username=‘seven‘
    password=‘123‘
    count=0
    while count<3:
        username_input=input("输入用户名:")
        password_input=input("输入密码:")
    
        if username_input ==username and password_input ==password :
            print("欢迎%s!" % username_input)
            break
        else:
            count += 1
            print("用户名或密码错误!输入错误次数:%d,若错误次数超过3次将被禁止登陆!" % count)
    
    else:
        print("账号密码输入错误次数超限,禁止登陆")
        exit()

升级需求:

  • 可以支持多用户登陆
  • 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态

     1 import os
     2
     3 ban_list=list()              #禁止登陆用户列表
     4 ban_file_path=‘banned.cfg‘
     5 users=[‘xiaoming‘,‘dawang‘,‘alex‘]
     6 passwds={‘xiaoming‘:‘12345‘,‘dawang‘:‘45678‘,‘alex‘:‘abc123‘}
     7 fail_count=dict()           #存放密码输入错误计数
     8 fail_count[‘123‘] =1
     9 openmode=‘r‘
    10 if not os.path.exists(ban_file_path):
    11     openmode=‘w+‘
    12 ban_file=open(ban_file_path,openmode)
    13 try:
    14     for line in ban_file :   #初始化禁止登陆列表
    15         ban_list.append(line)
    16 finally:
    17     ban_file.close()
    18 trycount=0
    19 flag = True
    20 while flag :
    21
    22     username=input("输入用户名:")
    23     password=input("输入密码:")
    24     if ban_list.count(username)>0:
    25         print("该账号已经被禁用")
    26         exit()
    27     elif users.count(username)>0:
    28         if passwds[username] ==password :
    29             print("欢迎登陆系统,%s!" % username_input)
    30             fail_count[username]=0          #成功登陆则系统错误计数清零
    31             break
    32         else:
    33             fail_count[username]=fail_count.get(username, 0)+1
    34             trycount += 1
    35             print("密码错误!输入错误次数:%d,累计输入错误3次账号将被冻结!" % fail_count[username])
    36             if fail_count[username]>=3 :
    37                 flag=False
    38     else:
    39         trycount += 1
    40         print("用户名不存在!")
    41     if trycount >= 5 :
    42         print(‘账号密码输入错误次数超限,软件自动退出!‘)
    43         exit()
    44 else:
    45     print("该账号密码输入错误次数超限,账号被禁止登陆!")
    46     ban_file=open(ban_file_path,‘a‘)
    47
    48     try:
    49        ban_file.writelines(username)
    50     finally:
    51         ban_file.close()
    52     exit()
时间: 2024-10-10 08:39:03

第一章练习题作业的相关文章

python第一章练习题

本章总节 练习题 1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释 编译型:把源代码编译成机器语言的可执行文件,程序执行的时候执行可执行文件即可. 优点:程序执行不需要源代码,不依赖语言环境,执行速度快,因为执行的是机器码文件,计算机可以直接读懂 缺点:每次修改源代码都需要重新编译.跨平台性不好,不同的操作系统,调用底层的机器指令不同,需为不同平台生产不同的机器码文件 编译型语言:如C.C++,Delphi 解释型: 用户调用解释器,执行源代码文件,解释器把源

C语言第一章大作业

运用C的基本语言可以完成一些简易游戏的编程如下例中的打飞机游戏 通过这种简单的语言我们可以自己完成这些类型的测序的设计. #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<time.h> #define N35 voidprint(int [][N]);//输出函数 voidmovebul(int [][N]);//子弹移动函数 voidmovepla(int [][N]);//敌

《计算机科学导论》第一章课后作业解答(个人版)

1.定义一个基于图灵模型的计算机. 这是一种图灵设想的通用计算设备,所有的计算都可以在这种设备上运行.通过给这种计算机输入数据,计算机中的程序就可以指导计算机来给数据进行处理,处理完后输出结果. 2.定义一个基于冯·诺伊曼模型的计算机. 基于冯·诺伊曼模型的计算机由存储器.算术逻辑单元.控制单元和输入/输出单元组成.存储器用来存储数据和程序:算术逻辑单元用来进行计算和逻辑运算:控制单元对该计算机内的子系统进行控制:输入/输出于从外部接收输入数据和程序以及将计算机的处理结果输出到计算机外部. 3.

java面向对象(第一章课后作业)

1 package com.Class_And_Object; 2 3 public class ZuoYeA01 { 4 5 int a; //定义两个整数 6 int b; 7 String fang; 8 public void jia(){ 9 System.out.println("结果"+(a+b)); 10 } 11 public void jian(){ 12 System.out.println("结果"+(a-b)); 13 } 14 publi

第一章--购物车作业

goods = [ {"名字": "联想电脑", "价格": 3999}, {"名字": "手机", "价格": 210}, {"名字": "硬盘", "价格": 520}, {"名字": " 美女", "价格": 998},] exit_flag = False #

第一章练习题

1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型? 编译型:在执行应用程序前,先将程序代码翻译成目标程序(机器语言).编译后生成独立的可执行文件,不依赖语言环境运行,编译型语言执行效率高,速度快,跨平台性差. 解释型:依赖解释器,不能生成单独的执行文件,程序代码本身就可以执行,但依赖解释器.跨平台性好,一份代码到处使用,缺点是执行效率低. 解释型语言:java, python ,go 2.执行 Python 脚本的两种方式是什么 cmd命令行执行和交互器 .

第一章练习题登陆认证程序

基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) info = [["name1", "111"], ["name2", "222"], ["name3", "333"], ["name4", "444"]] count = 2 while count

第一章练习题三级菜单

需求: 可依次选择进入各子菜单 可从任意一层往回退到上一层 可从任意一层退出程序 所需新知识点:列表.字典 menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': {}, 'youku': {}, }, '上地': { '百度': {}, }, }, '昌平': { '沙河': { '老男孩': {}, '北航': {}, }, '天通苑': {}, '

Python全栈课程-第一章练习题-多用户登录(list和file的使用)

基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里) lock_file = open("lock.txt", "r", encoding="utf-8")if lock_file.read() == "locked": print