Daring__ 2022-12-09 21:56 采纳率: 100%
浏览 49
已结题

完成赛博选角的需求,随机选取所扮演的文明

题目描述 2: 某不务正业的戏精在业余时间经常偶尔通过玩一款名叫《帝国时代 3》的二十年前老游戏在 2005 年的画质水平下享受当地球球长的快意。不知出于何种原因该游戏制作方未提供“随机选取所扮演的文明”的功能,因此每次该戏精对于必须明确指定本局所选文明的方式赶到乐趣极其受损,毕竟他认为我球长不管作为哪个文明,都是球长。请通过 Python编写一段脚本,在进入游戏前帮助该完成赛博选妃选角的需求。功能描述具体如下:1.首先输出提示信息,类似“请按任意键随机选择一个文明”之类的内容。2.游戏中的文明包括(按游戏中菜单顺序):奥斯曼土耳其帝国、葡萄牙海上帝国、西班牙帝国、荷兰联省共和国、法兰西第一帝国、大英帝国、普鲁士帝国、沙皇俄国、易洛魁部落联盟、苏族部落联盟、阿兹特克帝国、中国大清王朝、日本德川幕府、印度莫卧儿王朝。3.在按任意键后,显示本轮随机选中的文明名称(可随个人意愿使用简称如“土耳其”,或使用全称如“奥斯曼土耳其帝国”),并提示如不满意请按重选、满意请按 0 退出的信息。4.如上述信息显示后用户按 1,则重复执行势力名称的随机选取及显示过程,如用户按 0, 则直接退出程序不再重复选取。5.在用户不断重新选择的过程中,记录已选中的文明曾入选的次数。如某个文明已被选中达 到 3 次且用户依然按 1,则提示类似“这已经是第三次选中 xx 文明,不再重选”的信息,并在此时保持屏幕停留状态,直到用户按任意键,程序退出。程序运行效果示意图(蓝色字为程序所显示信息,黑色字为用户输入信息):提示:程序挂起按任意键继续、死循环重复执行的功能与上一题类似;对国家名称随机选取的功能有多种方式可以完成,当事人 a.k.a 那位戏精自己采用的是构建字典存储国家名称,但这既不是效率最高的最优解也不是唯一的可行方式。请自行选择实现方式。功能实现即可。

  • 写回答

2条回答 默认 最新

  • 一切因为有你 2022-12-09 23:35
    关注
    
    import random
    str1='奥斯曼土耳其帝国、葡萄牙海上帝国、西班牙帝国、荷兰联省共和国、法兰西第一帝国、大英帝国、普鲁士帝国、沙皇俄国、易洛魁部落联盟、苏族部落联盟、阿兹特克帝国、中国大清王朝、日本德川幕府、印度莫卧儿王朝'
    wm=str1.split('、')
    ct={}
    input("请按任意键随机选择一个文明:")
    wm1=random.sample(wm,1)[0]
    ct[wm1]=ct.get(wm1,0)+1
    print("本轮随机选中的文明名称:",wm1)
    
    while 1:
        n=input("按1重选 ,按0确定:")
        if n=='1':
            if ct[wm1]>=3:
                print("这已经是第三次选中{}文明,不再重选".format(wm1))
                input("按任意键退出")
                break
            wm1=random.sample(wm,1)[0]
            ct[wm1]=ct.get(wm1,0)+1
            print("本轮随机选中的文明名称:",wm1)
        elif n=='0':
            break
        else:
            print("输入错误,请重选输入")
    

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月18日
  • 已采纳回答 12月10日
  • 创建了问题 12月9日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分