python学习第一天练习
1 练习题
1、简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型。
答:编译型语言:执行效率高,代码调试和修改相对于解释型语言慢 C GO Java
解释型语言:执行效率低,代码调试和修改相对于编译型语言快 python perl php
2、执行 Python 脚本的两种方式是什么
答:交互式和文件形式
3、Pyhton 单行注释和多行注释分别用什么?
答:单行注释用#
多行注释用''' ''' 三引号
4、布尔值分别有什么?
答:布尔值分别有True和False
5、声明变量注意事项有那些?
答:1、变量只能以字母和下划线开头
2、变量只能包含数字字母和下划线
3、变量不能使用python的关键字和内建
4、变量名一定要具有可识别性
5、可以使用驼峰或是下划线样式
6、如何查看变量在内存中的地址?
答:假设a是一个变量,id(a)返回的结果就是变量a在内地内存中的地址
7、写代码
实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
code:
username=input("please input username: ")
password=input("please input password: ")
if username=='seven'and password=='123':
print('登陆成功!')
else:
print('登陆失败!')
实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
code:
count=0
while count<3:
username = input("please input username: ")
password = input("please input password: ")
if username=='seven'and password=='123':
print('登陆成功!')
break
else:
if count==2:
print("登陆失败三次,请稍后重试!")
break
else:
count+=1
print('登陆失败!')
实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
code:
count=0
while count<3:
username = input("please input username: ")
password = input("please input password: ")
if (username=='seven' or username=='alex')and password=='123':
print('登陆成功!')
break
else:
if count==2:
print("登陆失败三次,请稍后重试!")
break
else:
count+=1
print('登陆失败!')
8、写代码
a. 使用while循环实现输出2-3+4-5+6...+100 的和
code:
sum1=0
sum2=0
sum3=sum1+sum2
a=2
while 2<=a<=100 :
if a % 2==0:
sum1+=a
a+=1
else:
sum2-=a
a+=1
print(sum3)
b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
code:
b = 1
while 1 <= b and b < 13:
if (b == 6 or b == 10) :
b += 1
continue
else:
print(b)
b += 1
c.使用 while 循环实现输出 1-100 内的所有奇数
code:
c=0
while c>=0 and c<=100 :
if c % 2 != 0 :
print(c)
c+=1
else:
c+=1
e. 使用 while 循环实现输出 1-100 内的所有偶数
code:
c=0
while c>=0 and c<=100 :
if c % 2 == 0 :
print(c)
c+=1
else:
c+=1
现有如下两个变量,请简述 n1 和 n2 是什么关系?
n1 = 123456
n2 = n1
答:n1 和 n2 的 id()不同 ,类型type()和值 都不同
2 作业:编写登陆接口
基础需求:
让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序
code:
count=0
while count<3:
username = input("please input username: ")
password = input("please input password: ")
if username=='seven'and password=='123':
print('登陆成功!')
break
else:
if count==2:
print("登陆失败三次,请稍后重试!")
break
else:
count+=1
print('登陆失败!')
升级需求:
可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
code:
a = ['alex', '123']
b = ['egon', '456']
c = ['xman', '789']
count = 0
counta = 0
countb = 0
countc = 0
user = open("e:\\user.txt", "a+", encoding="utf-8") # a+ 向文件中追加文件内容
user.close()
while count < 4:
username = input("please input username: ")
#--------打开文件并读取文件内容,去掉文件内容后的\n,并判断输入的用户名是否被锁定----------------#
with open("e:\\user.txt", 'r') as f:
deny = f.readlines()
for i in range(0, len(deny)):
deny[i] = deny[i].rstrip('\n')
if username in deny:
print('用户已被锁定,请联系管理员解锁!')
break
#-------------------------------------------------------------------------------------#
else:
password = input("please input password: ")
if (username == a[0] and password == a[1]) or (username == b[0] and password == b[1]) or (
username == c[0] and password == c[1]):
print('登陆成功!')
break
else:
if username == a[0]:
counta += 1
elif username == b[0]:
countb += 1
elif username == c[0]:
countc += 1
#------------当同一个用户密码输入错误三次后,将用户名写入文件--------------------------------#
if counta == 3:
with open("e:\\user.txt", 'a') as fa:
fa.write(a[0])
print('由于三次登陆失败,用户:', a[0], ' 已被锁定')
break
elif countb == 3:
with open("e:\\user.txt", 'a') as fa:
fa.write(b[0])
print('由于三次登陆失败,用户:', b[0], ' 已被锁定')
break
elif countc == 3:
with open("e:\\user.txt", 'a') as fa:
fa.write(c[0])
print('由于三次登陆失败,用户:', c[0], ' 已被锁定')
break
#-----------------------------------------------------------------------------------#
if count == 2:
print("登陆失败三次,请重试!")
break
else:
count += 1
print('登陆失败!')

浙公网安备 33010602011771号