放在图下面的关于疫情病情自动问诊系统设计,至少设计五个选择题问卷,两个问答题,详情看图了解
2条回答 默认 最新
- CSDN专家-showbo 2022-12-20 16:51关注
大概这样吧。。题目自己整下,瞎编了几个
import json def login():##登录并做题 while True: name=input('输入账号:') password=input('输入密码:') print(name=="",len(password),len(password)<4) if name=="" or len(password)<4: print('账号不能为空并且密码需要大于4个字符,是否重新输入(y/n)?') cmd=input().lower() if cmd=="n": break else: for user in users: if user['name']==name and user['password']==password:##输入正确,做题 for q in qas: print(q['q']) if 'ans' in q: an=input('请输入:') q['ans'].append(an) else: an=input('请输入1(是),其他(否)') if an=="1": q['yes']+=1 else: q['no']+=1 ##保存到文件 with open('qa.txt','w',encoding='utf-8') as f: f.write(json.dumps(qas,ensure_ascii=False)) return##做完题目退出登录函数重新选择功能 print('账号或密码错误,是否重新输入(y/n)?') cmd=input().lower() if cmd=="n": break #查看统计结果 def showChoices(): for qa in qas: if 'yes' in qa: print(qa['q']) print('是:',qa['yes'],'否:',qa['no']) def search(): s=input('输入关键词:') for qa in qas: if 'ans' in qa: if s in qa['q'] or s in ','.join(qa['ans']):#关键字在题目中或者回答中输出 print(qa['q']) for a in qa['ans']: if s in a: print(a) #读取用户信息,内容为json字符串,如下 ''' [ {"name":"zhangshan","password":"1234"}, {"name":"lisi","password":"1234"}, {"name":"wangwu","password":"1234"}, {"name":"zhaoliu","password":"1234"} ]''' with open('user.txt',encoding='utf-8') as f: users=json.loads(f.read()) #读取问题,有yes,no是单选,有ans的是问答题,存储回答的内容,其他题目题主自己编 ''' [ {"q":"是否头晕?","yes":0,"no":0}, {"q":"是否体温高于37.3?","yes":0,"no":0}, {"q":"是否咽喉痛?","yes":0,"no":0}, {"q":"是否咳嗽?","yes":0,"no":0}, {"q":"是否全身乏力?","yes":0,"no":0}, {"q":"最近吃了什么药?","ans":[]}, {"q":"对什么药物过敏?","ans":[]}]''' with open('qa.txt',encoding='utf-8') as f: qas=json.loads(f.read()) while True: print('''1、登录系统 2、查看统计结果 3、问答结果查询 4、退出系统''') cmd=input() if cmd=="4": break elif cmd=="1": login() elif cmd=="2": showChoices() elif cmd=="3": search()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报