python练习题1

这篇博客主要介绍了Python基础练习,包括登录接口的实现以及一些基础语法题目,如执行脚本方式、注释类型、布尔值、变量声明、查看内存地址等。还涉及到了循环控制,如while循环在求和、输出特定数字序列中的应用。此外,讨论了用户登录认证的逻辑,如多次尝试失败后的锁定机制。
摘要由CSDN通过智能技术生成

练习题1

1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型.
编译型:源码在使用前需要编译,相对于解释型语言执行效率高,语言不具有跨平台性。 具体例如:java、c
解释型:源码只需安装对应的解释器就可运行,执行效率低,语言具有跨平台性。 具体例如:python、php

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

交互式执行,文件执行

3.Python 单行注释和多行注释分别用什么?

单行注释可以使用 # 井号
多行可使用 '''三对单引号'''

4.布尔值分别有什么?

True 以及 False

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

以字母、数字、下划线为主(见名知意) 注:推荐使用下滑线命名法、类名最好使用大驼峰
不能以数字开头
不要使用系统的内置变量和函数名以及保留字

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

使用 id(变量名)

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

name = input("Please input your name: ")
password = input("And please input your password: ")

if name == "seven" and password == "123":
    print("登录成功")
    exit(0)
else:
    print("登录失败")
    exit(1)

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

i = 0
while i < 3:
    name = input("Please input your name: ")
    password = input("And please input your password: ")

    if name == "seven" and password == "123":
        print("登录成功")
        exit(0)
    else:
        i += 1
        print("登录失败")
else:
    exit(1)

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

i = 0
while i < 3:
    name = input("Please input your name: ")
    password = input("And please input your password: ")

    if (password == "123" and name == "seven") or (name == "alex" and password == "123"):
        print("登录成功")
        exit(0)
    else:
        i += 1
        print("登录失败")
else:
    exit(1)

8.写代码
a. 使用while循环实现输出2-3+4-5+6…+100 的和

i = 2
sum_1 = 0

while i <= 100:
    if i % 2 == 0:
        sum_1 += i
        print("加上", i)
        print(sum_1)
    else:
        sum_1 -= i
        print("减去", i)
        print(sum_1)
    i += 1
else:
    print(sum_1)

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

#使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
i = 1

while i <13:
    if i == 6 or i == 10:
        i += 1
        continue
    print(i)
    i += 1

#使用 while 循环实现输出 1-100 内的所有奇数
i = 1

while i <= 100:
    if i % 2 == 1:
        print(i)
    i += 1

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

i = 1
while i <=100 :
   if i % 2 == 0:
       print(i)
   i += 1

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

n1 = 123456
n2 = n1
将变量值123456存放至内存中的堆区,并将其内存地址给予在栈区的n1。
同一个变量内容的引用又将对应的内存地址给其它变量n2

登录接口

让用户输入用户名密码

认证成功后显示欢迎信息
输错三次后退出程序

dic = {
    "jeff": {"password": 123}
}

i = 0
while i < 3:
    name = input("Please input your name: ")

    if name in dic:
        password = input("And please input your password: ")
        if password == str(dic[name]["password"]):
            print("成功登入")
        else:
            print("密码错误,请重新输入")
    else:
        print("无此用户请重新输入")
    i += 1
else:
    print("信息错误3次,请重新登入")
    exit(1)
   

可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)

dic = {
    "jeff": {"password": 123},
    "david": {"password": 12345}
}

i = 0
while i < 3:
    name = input("Please input your name: ")

    with open("lockfile.txt", 'r') as f:
        for locked_user in f.readlines():
            if name == locked_user.strip():
                print("用户已被锁")
                exit(2)

    if name and name in dic:
        password = input("And please input your password: ")
        if password == str(dic[name]["password"]):
            print("成功登入")
            exit(0)
        else:
            print("密码错误,请重新输入")
    else:
        print("无此用户请重新输入")
    i += 1
else:
    if not name:
        print("空用户")
        exit(3)

    with open("./lockfile.txt", "a") as f:
        f.write('%s\n' % name)
    print("信息错误3次,账户已被锁定")
    exit(1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值