IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

python成长之路—–day1—–作业(登录程序和三级菜单)

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

作业:

作业1:用户登录

1)程序说明:

a.用户输入密码验证成功然后打印欢迎信息

b.如果密码错误,用户登录失败,提示用户,密码错误

c.用户输入密码错误3次,则用户锁定

d.当用户多次输入不存在的用户时,提示错误信息,并让用户等待10s之后再次输入

账户信息保存在user.txt中,例子:dean,dean123,0 这三个值分别表示的含义:第一位是:username,第二位是:password,第三位表示用户的状态,0表示正常,1表示锁定

2)流程图如下:

70_1.png

3)程序代码:

 #AUTHOR:FAN
 import time
 #定义一个用户字典
 user_dict={}
 #定义一个用户列表
 user_list=[]

 f=open("user.txt",'r')
 #用for循环获取文件中每行的内容,并写入到字典中,value_interm[0]表示username,value_interm[1]表示password,value_interm[2]表示
 #账户的锁定信息:0表示正常,1表示锁定
 for line in f.readlines():
     useriterm = line.strip()
     value_interm = useriterm.split(',')
     value_username = value_interm[0]
     value_password = value_interm[1]
     value_lock = value_interm[2]
     user_dict[value_username]={
         "name":value_username,
         "password":value_password,
         "lock":value_lock
     }
 f.close()
 #print(user_dict)
 #定义个count_num用户计算用户输入错误用户的次数
 count_num = 0
 #用于跳出多层循环
 flag = True
 while flag:
     if count_num == 3:
         print("dute to input non-existent user ,you need to wait 10s")
         time.sleep(10)
     # 获取用户输入的用户名
     user_name = input("please input your username:")
     if user_name in user_dict.keys():
         #print(type(user_dict[user_name]["lock"]))
         #判断用户是否被锁定
         if int(user_dict[user_name]["lock"]) == 0:
             for i in range(3):
                 password = input("please input you password:")
                 #判断密码是否正确
                 if password == user_dict[user_name]["password"]:
                     print("welcome to login my system!")
                     flag=False
                     break
                 else:
                     print("password is error")
             else:
                 #用户输入密码错误三次后被锁定
                 user_dict[user_name]["lock"]="1"
                 f = open("user.txt","w+")
                 #将字典装换成列表,将改变的信息写入到文件中
                 for value in user_dict.values():
                     user_list =[value["name"],value["password"],value["lock"]]
                     user_list =",".join(user_list)
                     f.write(user_list+"\n")
                 print("you input wrong password too many,the user is locked")
                 break
         else:
             print("user is locked")
     else:
         print("user is not exist")
         count_num+=1

作业2:三级菜单

1)程序说明:

a.用户运行程序后,打印第一级菜单

b.用户输入相应的编号进入下一级菜单,当编号错误的时候会提示用户输入错误,并让用户重新输入

c.用户在每一级的时候,都能通过输入q退出程序,并能通过输入up返回到上级菜单,返回到上级目录时要将上级目录进行打印

d.用户到最后一级的时候提示用户已经到最后一级目录,可以直接退出程序或返回上级目录

2)流程图如下:

70_2.png

3)程序代码:

 #AUTHOR:FAN
 #定义一个菜单字典
 menu_dict={
     "河南省":{
         "焦作市":{
             "修武县":{"AA","BB","CC"},
             "武陟县":{"DD","EE","FF"},
             "博爱县":{"GG","HH","II"}
         },
         "新乡市":{
             "辉县":{"AA","BB","CC"},
             "封丘县":{"DD","EE","FF"},
             "延津县":{"GG","HH","II"}
         }
     },
     "河北省":{
         "邢台":{
             "宁晋县":{"AA","BB","CC"},
             "内丘县":{"DD","EE","FF"},
             "邢台县":{"GG","HH","II"}
         },
         "唐山":{
             "乐亭县":{"AA","BB","CC"},
             "唐海县":{"DD","EE","FF"},
             "玉田县":{"GG","HH","II"}
         }
     }
 }
 #用户退出多级菜单用flag
 flag =True
 while flag:
     #用于记录一级菜单key的个数
     count1 = 0
     #打印一级菜单
     for index,key in enumerate(menu_dict.keys()):
         count1+=1
         print(index,key)
     user_choice = input("please input your choice:")
     #判断用户输入的值是否为全数字
     if user_choice.isdigit() is True:
         user_choice = int(user_choice)
         #判断用户输入的值是否大于列表的最大值
         if user_choice < count1:
             #将字典转换成列表,menu_dict.keys()默认不是列表
             menu_list = list(menu_dict.keys())
         else:
             print("you need input right num")
             continue
     elif user_choice == "q":
         flag= False
         break
     else:
         print("please input a num")
         continue
     while flag:
         count2= 1
         for index,key in enumerate(menu_dict[menu_list[user_choice]].keys()):
             count2+=1
             print (index,key)
         user_choice2 = input("please input your choice(q:退出程序,up上一级):")
         if user_choice2.isdigit() is True:
             user_choice2 = int(user_choice2)
             if user_choice2 < count2:
                 menu_list2 = list(menu_dict[menu_list[user_choice]].keys())
             else:
                 print("you need input right num")
                 continue
         elif user_choice2 == "q":
             flag=False
             break
         elif user_choice2 =="up":
             break
         else:
             print("please input a num")
             continue
         while flag:
             count3=0
             for index,key in enumerate(menu_dict[menu_list[user_choice]][menu_list2[user_choice2]].keys()):
                 print(index,key)
                 count3+=1
             user_choice3 =input("please input your choice(q:退出程序,up上一级):")
             if user_choice3.isdigit() is True:
                 user_choice3=int(user_choice3)
                 if user_choice3 < count3:
                     menu_list3 = list(menu_dict[menu_list[user_choice]][menu_list2[user_choice2]])
                 else:
                     print("you need input right num")
                     continue
             elif user_choice3 == "up":
                 break
             elif user_choice3 =="q":
                 flag =False
                 break
             else:
                 print("please input a num")
                 continue
             while flag:
                 for index,key in enumerate(menu_dict[menu_list[user_choice]][menu_list2[user_choice2]][menu_list3[user_choice3]]):
                     print (index,key)
                 #提示用户已经到最后一级目录,可以退出或返回上级目录
                 q_or_up = input("This is last level,you want to q(退出程序) or up(上一级):")
                 if q_or_up == "q":
                     flag = False
                     break
                 elif q_or_up == "up":
                     break
                 else:
                     continue

文章永久链接:https://tech.souyunku.com/?p=30889


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(75) 打赏



未经允许不得转载:搜云库技术团队 » python成长之路—–day1—–作业(登录程序和三级菜单)

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367