1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型?
需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
代表语言:C、C++、Pascal、Object-C以及最近很火的苹果新语言swift
解释性语言的程序不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译。
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
代表语言:JavaScript、Python、Erlang、PHP、Perl、Ruby
2.执行Python脚本的两种方式?
3.Python单行注释和多行注释分别用什么?
4.布尔值分别是什么?
5.声明变量注意事项有哪些?
变量定义规范
变量定义方式
变量名不好的定义方式
6.如何查看变量名的内存地址?
username = ocean
id(username)
4156456165461
7.码码
#实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
username = input("用户名>>:")
password = input("密码>>:")
if username == "seven" and password == "123":
print("登陆成功")
else:
print("登陆失败")
#实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
count = 0
while count < 3:
username = input("用户名>>:")
password = input("密码>>:")
if username == "seven" and password == "123":
print("登陆成功")
break
else:
print("登陆失败")
count+=1
continue
#实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
#Method1
count = 0
while count < 3:
username = input("用户名>>:")
password = input("密码>>:")
if username in ("seven","alex") and password == "123":
print("登陆成功")
break
else:
print("登陆失败")
count+=1
continue
#Method2
for i in range(3):
username = input("用户名>>:")
password = input("密码>>:")
if username in ("seven","alex") and password == '123':
print("登录成功")
break
else:
print("登录失败")
continue
8.码码
#使用while循环实现输出2-3+4-5+6...+100 的和
result = 0
i = 2
while i < 101:
if i%2 == 1:
i+= 1
result+= 1
else:
i+=1
print(result)
#使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
i = 1
while i<13:
if i not in (6,10):
print(i)
i+=1
else:
i+=1
#使用 while 循环实现输出 1-100 内的所有奇数
i = 1
while i <100:
if i % 2 ==1:
print(i)
i+=1
else:
i+=1
#使用 while 循环实现输出 1-100 内的所有偶数
i =1
while i < 101:
if i % 2 ==0
print(i)
i+=1
else:
i+=1
9.编写登录接口
#基础需求:
#让用户输入用户名密码
#认证成功后显示欢迎信息
#输错三次后退出程序
#Method1
name = "尼古拉斯赵四"
passwd = "123456"
for i in range(3):
input_name = input("用户名>>:")
input_pass = input("密码>>:")
if input_name == name and input_pass == passwd :
print("欢迎光临红浪漫")
break
else:
i+=1
print('登录失败,账号或密码错误')
#Method2
user_list = {
'尼古拉斯·赵四':{'password':'123','count':0},
'莱昂纳多·小沈阳':{'password':'123','count':0},
'约翰尼·宋小宝':{'password':'123','count':0},
'克里斯蒂安·刘能':{'password':'123','count':0},
}
count = 0
while True:
input_name = input('账号>>:')
if not input_name in user_list:
print('账号不存在')
continue
if user_list[input_name]['count'] > 2 :
print('尝试次数过多,账号锁定')
break
input_pass = input('密码>>:')
if input_pass == user_list[input_name]['password']:
print('欢迎光临红浪漫')
break
else:
print('账号或密码错误')
user_list[input_name]['count'] += 1
#升级需求:
#可以支持多个用户登录 (提示,通过列表存多个账户信息)
#用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
#account_locked.txt内容:user1|user2|user3
user_list = {
'尼古拉斯·赵四':{'password':'123','count':0},
'莱昂纳多·小沈阳':{'password':'123','count':0},
'约翰尼·宋小宝':{'password':'123','count':0},
'克里斯蒂安·刘能':{'password':'123','count':0},
}
count = 0
while True:
input_name = input('账号>>:')
if not input_name in user_list:
print('账号不存在')
continue
with open('account_locked.txt','r') as f:
lock_users=f.read().split('|')
if input_name in lock_users:
print('用户%s已经被锁定' %input_name)
break
if user_list[input_name]['count'] > 2 :
print('尝试次数过多,账号锁定')
with open('account_locked.txt','a') as f:
f.write('%s|' $input_name)
break
input_pass = input('密码>>:')
if input_pass == user_list[input_name]['password']:
print('欢迎光临红浪漫')
break
else:
print('账号或密码错误')
user_list[input_name]['count'] += 1