练习题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)