七颜ゎ 2022-10-13 10:15 采纳率: 100%
浏览 54
已结题

设计一个猜成语小游戏

import random
规则
1.词库中有10个成语
2.随机显示被打乱成语
3.用户有三次机会,用户将正确顺序打出来则为成功
idioms = ['无与伦比', '始终如一', '一如既往', '忍辱负重', '一无是处', '心心念念', '水深火热', '人来人往', '成家立业', '古今中外']
print(rule)
print("欢迎参加猜成语游戏!\n请把乱序后的字词组成一个成语\n")
cotinue = "Y" # 第二次进入游戏时默认选择为Y
while cotinue in ("Y", "y"): # 控制循环的按键
idiom = random.choice(idioms) # 在idioms中随机选择一个成语
answer = idiom # 保存成语
jumble = "" # 将选出的成语进行乱序
for i in idiom:
# 随机抽取一个位置的字词放入乱序jumble中,并从原idiom中删除该字
position = random.randrange(len(idiom)) # position 为不大于被选中字词的个数的随机数,len测试字符长度
jumble += idiom[position] # 两个值相加,返回给 符号左侧的变量
print("乱序后的成语:", jumble)
# 接受玩家猜的成语
guess = input("请输入你猜测的结果:")
count = 1
while guess != answer:
guess = input("猜错了,再猜:")
count = count + 1 # 计数累加
if count >= 3:
print("三次机会用完了")
break # 退出
cotinue = input("是否继续?(继续游戏按:Y,退出按任意键)")

print("谢谢参与,欢迎下次再玩!")

img

img

img


修改部分代码,只需要让成语四个字乱序,不需要列表的切片化

  • 写回答

6条回答 默认 最新

  • CSDN专家-showbo 2022-10-13 11:09
    关注

    转数组shuffle打乱不行吗?randrange直选选其中一个,可能会出现重复值,代码有问题。

    不转数组只能是replace从字符串中去掉了

    import random
    idioms = ['无与伦比', '始终如一', '一如既往', '忍辱负重', '一无是处', '心心念念', '水深火热', '人来人往', '成家立业', '古今中外']
    #print(rule)
    print("欢迎参加猜成语游戏!\n请把乱序后的字词组成一个成语\n")
    cotinue = "Y" # 第二次进入游戏时默认选择为Y
    while cotinue in ("Y", "y"): # 控制循环的按键
        idiom = random.choice(idioms) # 在idioms中随机选择一个成语
        answer = idiom # 保存成语
        jumble = "" # 将选出的成语进行乱序
       
        while len(idiom):#还有没随机的字符继续
            position = random.randrange(len(idiom))
            jumble += idiom[position]
            idiom=idiom.replace( idiom[position],'',1)#从字符串移除
        print("乱序后的成语:", jumble)
        # 接受玩家猜的成语
        guess = input("请输入你猜测的结果:")
        count = 1
        while guess != answer:
            guess = input("猜错了,再猜:")
            count = count + 1 # 计数累加
            if count >= 3:
                print("三次机会用完了")
                break # 退出
        cotinue = input("是否继续?(继续游戏按:Y,退出按任意键)")
    
    print("谢谢参与,欢迎下次再玩!")
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 10月13日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么