day5作业

本周作业:
作业答案参考:
1、https://www.cnblogs.com/linhaifeng/articles/7133167.html#_label14
2、https://www.cnblogs.com/linhaifeng/articles/7133167.html#_label17

作业内容:
1 简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型

编译型语言:编译器一次性的把代码编译成计算机能识别的,在运行
解释型语言:解释器一行一行进行解释并运行
编译型:c,c++,go
解释型:python,php,shell

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

交互式,脚本的方式

3、Pyhton 单行注释和多行注释分别用什么?

单行注释:#
多行注释:'''''',""""""(一般用于文件开头,对整个文件的解释说明)

4、布尔值分别有什么?

显示布尔值:通过定义方式(tag = True),通过运算(4>2)
隐式布尔值:0,None,空(空字符串,空字典,空列表)

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

变量命名可用字母数字下划线,要见名知意
首字符不能为数字,不能使用关键字,不能使用中文

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

print(id(变量名))

7、写代码

实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
times = 0
while times <= 3:
	username = input("请输入用户名: ")
	username = username.lower()
	pwd = input("请输入密码: ")
	if username == ("seven" or "alex") and pwd == "123":
		print("登录成功")
		break
	else:
		print("登录失败,您还有%s次机会重新输入" % (2-times))
		if times == 2:
			print("您已输错三次,账户锁定")
			break
		times += 1

8、写代码(循环1-100奇偶数,)

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

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

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

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

# 方法一
i = 1
while i <= 12:
	if i == 6 or i == 10:
		i += 1
		continue
	print(i)
	i += 1

# 方法二
i = 1
while i not in [6,10]:
	print(i)
	i+=1

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

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

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

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

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

n1和n2的值相等,且id地址一致

10、for循环嵌套打印九九乘法表

for i in range(1,10):

	for j in range(1,i+1):

		print("%d*%d=%2d " % (i,j,i*j),end="")

	print()

11、for循环嵌套打印九九金字塔

# 方法一
n = 18
hang = n // 2 + 1
for i in range(1,hang):
	kongge = hang - i
	print(kongge * "  ",end="")
	for j in range(1,i+1):
		print("%d*%d=%2d "%(j,i,i*j), end="")
	print()

# 方法二
# 先获取打印金字塔层数
num = 9

# 获取打印金字塔的层数
for i  in range(1,num+1):
	# 打印空格数:(塔的总层数 - 当前层数)
    for z in range(num-i):
        print("\t", end="")
	# 打印里面的表达式
    for j in range(1,i+1):
        print("%s*%s=%s\t"%(j,i,j*i),end="")
    print()

12 作业:编写登陆接口
基础需求:
让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序

times = 0
while times < 3:
	username = input("请输入用户名:")
	pwd = input("请输入密码:")
	if username == "juanfu" and pwd == "666":
		print("欢迎来到王者农药")
		break
	else:
		print("账号或密码错误,您还有%s次机会重新输入"%(2-times))
		if times == 2:
			print("您已输错三次")
	times+=1

13、选做作业:

升级需求:
可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
accountlist = ["juanfu","huasheng"]
pwdlist = ["111","222"]
blacklist = []
sign = True
while sign:
	name = input("请输入用户名:")
	if name in accountlist:
		with open("black.txt",mode="a+",encoding="utf-8")as fp:
			fp.seek(0)
			lst = fp.readlines()
			for i in lst:
				blacklist.append(i.strip())
		if name in blacklist:
			print("抱歉,您的账户已被锁定")
		else:
			num = accountlist.index(name)
			times = 1
			while times <= 3:
				pwd = input("请输入密码:")
				if pwd == pwdlist[num]:
					print("登陆成功")
					sign = False
					break
				else:
					print("用户名或密码错误,您还有%s次机会输入"%(3-times))
					if times == 3:
						print("输错3次,账户锁定")

						with open("black.txt",mode="a+",encoding="utf-8")as fp:
							res = name + "\n"
							fp.write(res)
				times+=1
	else:
		print("该用户根本不存在")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值