巧排扑克牌---Python练习

本文介绍了一种使用扑克牌进行的魔术表演,并通过逆向思维解析了魔术背后的牌序排列逻辑。通过逐步倒推的方式,最终揭示了魔术师小明在表演开始前的牌堆初始顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

太坑了,最后竟然要加空格才能通过!!!!

题目描述

小明刚上小学,学会了第一个扑克牌“魔术”,到处给人表演。魔术的内容是这样的:

他手里握着一叠扑克牌:A,2,…J,Q,KA,2,…J,Q,K 一共 1313 张。他先自己精心设计它们的顺序,然后正面朝下拿着,开始表演。

只见他先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是 AA;然后再从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是 22;…如此循环直到手中只有一张牌,翻开放桌子上,刚好是 KK。

这时,桌上牌的顺序是:A,2,3,4,5,6,7,8,9,10,J,Q,KA,2,3,4,5,6,7,8,9,10,J,Q,K。

请你计算一下,小明最开始的时候手里牌的顺序是怎样的。

把结果写出来,逗号分割,小明“魔术”开始时,最下面的那张牌输出为第一个数据。

思路

倒推,从[“k”],往前推[“k”,“Q”],再往前推[“Q”,“J”,“k”]
在这里插入图片描述

import os
import sys

# 请在此输入您的代码
number_1=["K"]
num=["A","2","3","4","5","6","7","8","9","10","J","Q"]
for i in range(12):
  number_2=[]
  number_2.append(number_1[-1])
  number_2.append(num[-1-i])
  for j in range(len(number_1)-1):
    number_2.append(number_1[j])
  number_1=number_2
nums=number_2[0:13]
m=",".join(nums)
print(m)

编码不易,点个赞支持一下吧~~~~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值