为什么出错了、、好难好难

img


任务一:编写一Python程序,文件命名为14_1.py生产随机激活码。具体要求如下:
(1)使用random库,采用0x1011作为随机种子。
(2)每次产生20条激活码,且首字不能一样。每条激活码单独一行。
(3)必须包含大写字母、小写字母和数字,必需包括“!@#$%&-”8个特殊符号中的某一个。
(4)每次激活码产生的长度为12位。
(5)不能重复。
(6)程序所产生的激活码保存在“激活码.txt”文件中。
参考代码如下:
Import random
random.seed(0x1011)​①​
s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ0123456789!@#$%&
-"
ls=[]
excludes=""
while​② ​:
pwd=""
for I in ③ :
④​
if pwd[0] in excludes:

else:
ls. ⑥​
excludes+=​⑦​
with open('激活码.txt','w') as f:
f.write('\n'. ⑧ )

任务二、编写一Python程序,文件命名为14_2.py,判断登录用户名和密码是否正确。具体要求如下:
(1)用户名和密码保存在一字典中;
(2)用户输入用户名,如果用户名不在字典中,则提示“系统里没查询到你输入的用户名,请重新输入用户名!”
(3)如果用户名在字典中,就要求输入密码,如果密码输入正确,则返回“恭喜你!你通过了身份验证”;
(4)如果用户名在字典中,就要求输入密码,如果密码输入不正确,则返回“对不起,你输入的密码不正确,请再输入,你还有*次机会”,如果密码输入错误超过3次,则返回“很遗憾!你输入的密码错误已经超过3次,请明天再试或者联系我们的工作人员!”

img

回答:第一个问题你写的略微有一些小问题,修改了一下之后是这样了

img

import random

random.seed(0x1011)
basic = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ0123456789"
special = '!@#$%&-'

pwd_list = []
firstLetterOfPwd = ""

while len(pwd_list) < 20:
    pwd = ""
    for i in range(11):
        pwd += basic[random.randint(0, len(basic) - 1)]
    tempPwd = list(pwd)
    tempPwd.insert(random.randint(0, len(pwd)), special[random.randint(0, len(special) - 1)])
    pwd = ''.join(tempPwd)

    if pwd[0] in firstLetterOfPwd:
        continue
    else:
        pwd_list.append(pwd)
        firstLetterOfPwd += pwd[0]

with open('激活码.txt', 'w') as f:
    f.write('\n'.join(pwd_list))

print('写入成功')

append,不是asspend
另外你这代码的缩进好像也有问题