橘子橘子橘子橘子 2023-04-08 12:17 采纳率: 100%
浏览 67
已结题

关于#Python#的问题如何解决?

手里有一副五张已经排好序的扑克牌(3 4 8 9 11),然后抓了一张六,如何用Python语言写一个插入排序的代码将这个六插入进去,要具体代码,感恩!
大概就是把图片这样的VB写法改成Python😭

img

  • 写回答

3条回答 默认 最新

  • 语言-逆行者 2023-04-08 12:22
    关注

    img

    
    cards = [3, 4, 8, 9, 11] # 已排序的牌
    new_card = 6 # 新牌
    
    # 插入排序
    for i in range(1, len(cards)):
        key = cards[i]
        j = i - 1
        while j >= 0 and key < cards[j]:
            cards[j+1] = cards[j]
            j -= 1
        cards[j+1] = key
    
    # 将新牌插入已排序的牌中
    cards.append(new_card)
    for i in range(len(cards)-1, 0, -1):
        if cards[i] < cards[i-1]:
            cards[i], cards[i-1] = cards[i-1], cards[i]
    
    print(cards) # 输出结果:[3, 4, 6, 8, 9, 11]
    

    代码解释:

    • 首先定义已排序的扑克牌 cards 和待插入的扑克牌 new_card。
    • 使用插入排序算法,从第二张牌开始(即 i = 1),依次将每张牌与前面已排好序的牌进行比较。
    • 如果待插入的牌比前面的某张牌小,就将前面的牌往后移动一位,直到找到待插入的位置。
    • 将待插入的牌放到找到的位置上。
    • 循环结束后,输出已排好序的扑克牌 cards,结果为 [3, 4, 6, 8, 9, 11],表示插入成功。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月8日
  • 已采纳回答 4月8日
  • 修改了问题 4月8日
  • 创建了问题 4月8日

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行