如题,完成一个“科学算命”的程序,即“科学起名”,用户可输入出生年月日时,性别,程序随机给出二字的名字,要求输入内容相同时候输出相同,输入内容不同时候输出不同。用Python写
完成一个“科学算命”的程序,即“科学起名”,用户可输入出生年月日时,性别,程序随机给出二字的名字,要求输入内容相同时候输出相同,输入内容不同时候输出不同。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
CSDN专家-孙老师 2021-11-03 22:51关注如果简单点,可以这样考虑:
设置一个姓名池和一个已经存在的姓名池(初始为空)
定义一个字典,key为出生日期+性别,value为对应的姓名
每输入一个出生日期和性别
去判断是否在字典中
如果不在,就从剩余的姓名中(总的姓名-已存在的姓名)随机选取一个姓名,并将这个姓名存入已存在的姓名池
如果存在,就直接从字典中获取“出生日期和性别”对应的姓名
代码大致如下:info_dict={} name_exist=[] import random name_list=['张三','王五','李四'] birthday=input('请输入出生日期(年/月/日):') gender=input('请输入性别(男或女):') if birthday+gender not in info_dict: res=set(name_list)-set(name_exist) name=random.choice(list(res)) name_exist.append(name) info_dict[birthday+gender]=name else: name=info_dict[birthday+gender] print(name)说明:姓名较少,用完了就会报错。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报