鱼C论坛

 找回密码
 立即注册
查看: 2035|回复: 2

[已解决]关于Python第14讲课后题动手题

[复制链接]
发表于 2021-4-17 20:50:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
按照参考代码敲的,却报错语法错误,求大佬指点,使用的是python3,圈红部分是报错提示的地方
print('==============================RESTART==============================\n')
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
alphas = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
password = input('请输入需要检查的密码组合:')
length = len(password)
while (password.isspace()) or (length == 0):
    password = input('您输入的密码为空(或空格),请重新输入:')
    length = len(password)
if length <= 8:
    flaglen = 1
if 8 < length <= 16:
    flaglen = 2
if length >= 16:
    flaglen = 3

flagcon = 0
for i in password:
    if i in symbols:
        flagcon += 1
        break
for i in password:
    if i in nums:
        flagcon += 1
        break
for i in password:
    if i in alphas:
        flagcon += 1
        break
   
while 1:
    print('您的密码安全级别评定为:',end'')
    if flaglen == 1 or flagcon == 1:
        print('低')
    elif flaglen == 3 and flagcon == 3 and (password[0] in alphas):
        print('高')
        print('请继续保持')
        break
    else:
        print('中')
        
    print('''请按以下方式提升您的安全级别:
                    1.密码必须由数字、字母及特殊字符三种组合
                    2.密码只能由字母开头
                    3.密码长度不能低于16位''')
    break

   


最佳答案
2021-4-17 20:59:56
第32行,end后面少了个等号
print('==============================RESTART==============================\n')
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
alphas = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
password = input('请输入需要检查的密码组合:')
length = len(password)
while (password.isspace()) or (length == 0):
    password = input('您输入的密码为空(或空格),请重新输入:')
    length = len(password)
if length <= 8:
    flaglen = 1
if 8 < length <= 16:
    flaglen = 2
if length >= 16:
    flaglen = 3

flagcon = 0
for i in password:
    if i in symbols:
        flagcon += 1
        break
for i in password:
    if i in nums:
        flagcon += 1
        break
for i in password:
    if i in alphas:
        flagcon += 1
        break
   
while 1:
    print('您的密码安全级别评定为:',end='')   # 这里end后面少了个等号
    if flaglen == 1 or flagcon == 1:
        print('低')
    elif flaglen == 3 and flagcon == 3 and (password[0] in alphas):
        print('高')
        print('请继续保持')
        break
    else:
        print('中')
        
    print('''请按以下方式提升您的安全级别:
                    1.密码必须由数字、字母及特殊字符三种组合
                    2.密码只能由字母开头
                    3.密码长度不能低于16位''')
    break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-17 20:59:56 | 显示全部楼层    本楼为最佳答案   
第32行,end后面少了个等号
print('==============================RESTART==============================\n')
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
alphas = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
password = input('请输入需要检查的密码组合:')
length = len(password)
while (password.isspace()) or (length == 0):
    password = input('您输入的密码为空(或空格),请重新输入:')
    length = len(password)
if length <= 8:
    flaglen = 1
if 8 < length <= 16:
    flaglen = 2
if length >= 16:
    flaglen = 3

flagcon = 0
for i in password:
    if i in symbols:
        flagcon += 1
        break
for i in password:
    if i in nums:
        flagcon += 1
        break
for i in password:
    if i in alphas:
        flagcon += 1
        break
   
while 1:
    print('您的密码安全级别评定为:',end='')   # 这里end后面少了个等号
    if flaglen == 1 or flagcon == 1:
        print('低')
    elif flaglen == 3 and flagcon == 3 and (password[0] in alphas):
        print('高')
        print('请继续保持')
        break
    else:
        print('中')
        
    print('''请按以下方式提升您的安全级别:
                    1.密码必须由数字、字母及特殊字符三种组合
                    2.密码只能由字母开头
                    3.密码长度不能低于16位''')
    break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-4-17 22:26:40 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 02:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表