60行python代码带你了解刘谦春晚魔术的奥秘

xxx@xxx.com lorem ipsm dolor sit amet 立即下载

大家新年好,我是海鸽。

除夕夜,尼格买提在春晚现场与刘谦搭档变魔术时出现失误,他慌张的表情瞬间引发热议,意外成为今年春晚最引人瞩目的画面。

有网友表示,第二个魔术纯粹是数学原理,只要按照固定的顺序筛选,就一定能拼成完成的牌。

如果你还没观看过,我强烈建议你花一点时间观看一下。下面是“春晚”视频号的官方重播链接。愿好运常伴你左右,烦恼随风飘散。

这个魔术,理解起来,确实有点"困难"。我们先看下整个魔术流程:

接下来是见证奇迹的时刻

1、4张牌对折后撕开,就是8张,4对

2、(无关步骤)根据名字字数,把顶上的牌放到下面,但怎么放都不会改变循环序列

以名字字数3个字为例,多少字数其实没有任何影响

3、(核心步骤)把顶上3张(这里必须是3张)插到中间任意位置。

这一步也是保证第1张和最后1张是一样的!

4、(关键步骤)单放第1张牌K到一边

5、(无关步骤)南方人/北方人/不确定,分别拿顶上的1/2/3张牌插到中间,只要最后一张不变就无所谓

6、(关键步骤)男生拿掉1张,女生拿掉2张。也就是男生剩下6张,女生剩下5张。

7.“见证奇迹的时刻”从上往后轮放7次

Bingo!这一步就是确保拿到这张K牌。

8.1留2丢,3留四丢,循环直至手上只剩1张卡片

而前面一系列花里胡哨的操作就为拿到这个牌。

我们先来用Python模拟一下这个流程,先看列表版:

#!usr/bin/env python
# -*- coding:utf-8 _*-
# __author__:lianhaifeng
# __time__:2024/2/14 13:32

import random
from loguru import logger


def generate_cards():
    # 名字长度:1~7
    name_len = random.randint(2, 7)

    # 南方:1,北方:2,不确定:3
    location = random.randint(1, 3)

    # 男生:1,女生:2
    gender = random.randint(1, 2)

    # 初始卡片
    cards = ["J", "Q", "K", "王", "J", "Q", "K", "王"]

    # 按名字字数name_len,将队头卡片放在队尾
    for i in range(name_len):
        cards.append(cards[0])
        cards.pop(0)

    # 将前三张卡片插入到任意位置
    first_three_card = cards[:3]
    del cards[:3]

    pos = random.randint(1, 3)
    cards[pos:pos] = first_three_card

    # 最上面一张卡放在屁股下
    butt_card = cards.pop(0)

    # 南方/北方/不确定,拿出对应卡片,插入中间任意位置
    first_cards = cards[:location]
    del cards[:location]

    pos = random.randint(1, 5 - location)
    cards[pos:pos] = first_cards

    # 男生/女生,拿出卡片丢掉
    for _ in range(gender):
        del cards[0]

    # 见证奇迹的时刻
    for _ in range(7):
        cards.append(cards[0])
        cards.pop(0)

    logger.info(f"生成卡片:{cards}")

    # 好运留下来,烦恼丢出去
    while len(cards) > 1:
        cards.append(cards[0])
        del cards[0]
        del cards[0]
        logger.info(f"好运留下来,烦恼丢出去:{cards}")

    return cards[0], butt_card


def main():
    last_card, butt_card = generate_cards()
    logger.info(f"最后留下的卡片为:{last_card}")
    logger.info(f"屁股下的卡片为:{butt_card}")


if __name__ == "__main__":
    main()

输出结果:

2024-02-14 18:38:56.470 | INFO     | __main__:generate_cards:54 - 生成卡片:['Q', 'K', '王', 'Q', 'J']
2024-02-14 18:38:56.470 | INFO     | __main__:generate_cards:61 - 好运留下来,烦恼丢出去:['王', 'Q', 'J', 'Q']
2024-02-14 18:38:56.471 | INFO     | __main__:generate_cards:61 - 好运留下来,烦恼丢出去:['J', 'Q', '王']
2024-02-14 18:38:56.471 | INFO     | __main__:generate_cards:61 - 好运留下来,烦恼丢出去:['王', 'J']
2024-02-14 18:38:56.471 | INFO     | __main__:generate_cards:61 - 好运留下来,烦恼丢出去:['王']
2024-02-14 18:38:56.471 | INFO     | __main__:main:68 - 最后留下的卡片为:王
2024-02-14 18:38:56.471 | INFO     | __main__:main:69 - 屁股下的卡片为:王

使用队列模拟(来源于许啸天):

#!usr/bin/env python
# -*- coding:utf-8 _*-
# __author__:lianhaifeng
# __time__:2024/2/14 13:32


from collections import deque
from random import randint

from loguru import logger


def move_card_back(n, arr):
    for _ in range(n):
        move_card = arr.popleft()
        arr.append(move_card)
    return arr


def move_card_middle_random(n, arr):
    idx = randint(n + 1, len(arr) - 1)
    return deque(list(arr)[n:idx] + list(arr)[:n] + list(arr)[idx:])


def main():
    arr = deque(["J", "Q", "K", "王", "J", "Q", "K", "王"])
    logger.info(f"步骤1:拿出4张牌,对折撕成8张,按顺序叠放。\n此时序列为:{''.join(arr)}\n---")

    name_len = randint(2, 5)
    arr = move_card_back(name_len, arr)
    logger.info(f"步骤2:随机选取名字长度为{name_len},把第1张牌放到末尾,操作{name_len}次。\n此时序列为:{''.join(arr)}\n---")

    arr = move_card_middle_random(3, arr)
    logger.info(f"步骤3:把牌堆顶3张放到中间的随机位置。\n此时序列为:{''.join(arr)}\n---")

    rest_card = arr.popleft()
    logger.info(f"步骤4:把最顶上的牌拿走,放在一边。\n拿走的牌为:{rest_card}\n此时序列为:{''.join(arr)}\n---")

    move_num = randint(1, 3)
    arr = move_card_middle_random(move_num, arr)
    logger.info(
        f"步骤5:我{'是南方人' if move_num == 1 else '是北方人' if move_num == 2 else '不确定自己是哪里人'},"
        f"把{move_num}张牌插入到中间的随机位置。\n此时序列为:{''.join(arr)}\n---")

    male_num = randint(1, 2)
    for _ in range(male_num):
        arr.popleft()
    logger.info(f"步骤6:我是{'男' if male_num == 1 else '女'}生,移除牌堆顶的{male_num}张牌。"
                f"\n此时序列为:{''.join(arr)}\n---")

    arr = move_card_back(7, arr)
    logger.info(f"步骤7:把顶部的牌移动到末尾,执行7次\n此时序列为:{''.join(arr)}\n---")

    logger.info(f"步骤8:把牌堆顶一张牌放到末尾,再移除一张牌,直到只剩下一张牌。")
    while len(arr) > 1:
        luck = arr.popleft()
        arr.append(luck)
        logger.info(f"好运留下来:{luck}\t\t此时序列为:{''.join(arr)}", )
        sadness = arr.popleft()
        logger.info(f"烦恼都丢掉:{sadness}\t\t此时序列为:{''.join(arr)}", )

    logger.info(f"---\n最终结果:剩下的牌为{arr[0]},步骤4中留下来的牌也是{rest_card}")


if __name__ == "__main__":
    main()

输出结果:

2024-02-14 18:30:48.153 | INFO     | __main__:main:27 - 步骤1:拿出4张牌,对折撕成8张,按顺序叠放。
此时序列为:JQK王JQK王
---
2024-02-14 18:30:48.153 | INFO     | __main__:main:31 - 步骤2:随机选取名字长度为4,把第1张牌放到末尾,操作4次。
此时序列为:JQK王JQK王
---
2024-02-14 18:30:48.153 | INFO     | __main__:main:34 - 步骤3:把牌堆顶3张放到中间的随机位置。
此时序列为:王JQKJQK王
---
2024-02-14 18:30:48.153 | INFO     | __main__:main:37 - 步骤4:把最顶上的牌拿走,放在一边。
拿走的牌为:王
此时序列为:JQKJQK王
---
2024-02-14 18:30:48.153 | INFO     | __main__:main:41 - 步骤5:我是南方人,把1张牌插入到中间的随机位置。
此时序列为:QKJQKJ王
---
2024-02-14 18:30:48.154 | INFO     | __main__:main:48 - 步骤6:我是女生,移除牌堆顶的2张牌。
此时序列为:JQKJ王
---
2024-02-14 18:30:48.154 | INFO     | __main__:main:52 - 步骤7:把顶部的牌移动到末尾,执行7次
此时序列为:KJ王JQ
---
2024-02-14 18:30:48.154 | INFO     | __main__:main:54 - 步骤8:把牌堆顶一张牌放到末尾,再移除一张牌,直到只剩下一张牌。
2024-02-14 18:30:48.154 | INFO     | __main__:main:58 - 好运留下来:K		此时序列为:J王JQK
2024-02-14 18:30:48.154 | INFO     | __main__:main:60 - 烦恼都丢掉:J		此时序列为:王JQK
2024-02-14 18:30:48.154 | INFO     | __main__:main:58 - 好运留下来:王		此时序列为:JQK王
2024-02-14 18:30:48.154 | INFO     | __main__:main:60 - 烦恼都丢掉:J		此时序列为:QK王
2024-02-14 18:30:48.154 | INFO     | __main__:main:58 - 好运留下来:Q		此时序列为:K王Q
2024-02-14 18:30:48.154 | INFO     | __main__:main:60 - 烦恼都丢掉:K		此时序列为:王Q
2024-02-14 18:30:48.154 | INFO     | __main__:main:58 - 好运留下来:王		此时序列为:Q王
2024-02-14 18:30:48.155 | INFO     | __main__:main:60 - 烦恼都丢掉:Q		此时序列为:王
2024-02-14 18:30:48.155 | INFO     | __main__:main:62 - ---
最终结果:剩下的牌为王,步骤4中留下来的牌也是王

而这魔术背后的核心其实是约瑟夫问题!


约舍夫环问题

据说著名犹太历史学家Josephus有过以下的故事:

在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆圈一直进行,直到最终只剩下一个人留下,这个人就可以继续活着。问题是,给定了和,一开始要站在什么地方才能避免被处决。Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。

#!usr/bin/env python
# -*- coding:utf-8 _*-
# __author__:lianhaifeng
# __time__:2024/2/14 18:51

# -*- coding: utf-8 -*-
"""
Created on Thu Sep 27 12:04:57 2018
Description:约瑟夫问题的列表实现,基于python
Version:1.0
@author: HJY
"""
from loguru import logger


def josephus(n, k):
    if n == 1:
        return 0
    else:
        return (josephus(n - 1, k) + k) % n


def find_survivors(n, k):
    ring_list = [i + 1 for i in range(n)]  # 创建一个包含1到n的整数列表
    index = 0  # 初始索引
    while len(ring_list) > 2:
        pop_index = (index + k - 1) % len(ring_list)  # 计算要删除的人的索引
        ring_list.pop(pop_index)  # 删除对应索引的人
        index = pop_index  # 更新索引
        logger.info(ring_list)
    return ring_list


def main():
    n = 41  # 总共有41个人
    k = 3  # 每报数到第3人就必须退出
    survivors = find_survivors(n, k)
    logger.info(f"最后剩下的两个人是编号为 {survivors[0]} 和 {survivors[1]} 的人")


if __name__ == "__main__":
    main()

输出结果是:

2024-02-14 19:13:17.744 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.745 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.745 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.745 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.745 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.746 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.746 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.746 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.746 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.746 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.746 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.746 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 39, 40, 41]
2024-02-14 19:13:17.746 | INFO     | __main__:find_survivors:30 - [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41]
2024-02-14 19:13:17.747 | INFO     | __main__:find_survivors:30 - [2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41]
2024-02-14 19:13:17.747 | INFO     | __main__:find_survivors:30 - [2, 4, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41]
2024-02-14 19:13:17.747 | INFO     | __main__:find_survivors:30 - [2, 4, 7, 8, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41]
2024-02-14 19:13:17.747 | INFO     | __main__:find_survivors:30 - [2, 4, 7, 8, 11, 13, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41]
2024-02-14 19:13:17.747 | INFO     | __main__:find_survivors:30 - [2, 4, 7, 8, 11, 13, 16, 17, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41]
2024-02-14 19:13:17.758 | INFO     | __main__:find_survivors:30 - [2, 4, 7, 8, 11, 13, 16, 17, 20, 22, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41]
2024-02-14 19:13:17.759 | INFO     | __main__:find_survivors:30 - [2, 4, 7, 8, 11, 13, 16, 17, 20, 22, 25, 26, 29, 31, 32, 34, 35, 37, 38, 40, 41]
2024-02-14 19:13:17.759 | INFO     | __main__:find_survivors:30 - [2, 4, 7, 8, 11, 13, 16, 17, 20, 22, 25, 26, 29, 31, 34, 35, 37, 38, 40, 41]
2024-02-14 19:13:17.759 | INFO     | __main__:find_survivors:30 - [2, 4, 7, 8, 11, 13, 16, 17, 20, 22, 25, 26, 29, 31, 34, 35, 38, 40, 41]
2024-02-14 19:13:17.760 | INFO     | __main__:find_survivors:30 - [2, 4, 7, 8, 11, 13, 16, 17, 20, 22, 25, 26, 29, 31, 34, 35, 38, 40]
2024-02-14 19:13:17.760 | INFO     | __main__:find_survivors:30 - [2, 4, 8, 11, 13, 16, 17, 20, 22, 25, 26, 29, 31, 34, 35, 38, 40]
2024-02-14 19:13:17.760 | INFO     | __main__:find_survivors:30 - [2, 4, 8, 11, 16, 17, 20, 22, 25, 26, 29, 31, 34, 35, 38, 40]
2024-02-14 19:13:17.760 | INFO     | __main__:find_survivors:30 - [2, 4, 8, 11, 16, 17, 22, 25, 26, 29, 31, 34, 35, 38, 40]
2024-02-14 19:13:17.760 | INFO     | __main__:find_survivors:30 - [2, 4, 8, 11, 16, 17, 22, 25, 29, 31, 34, 35, 38, 40]
2024-02-14 19:13:17.761 | INFO     | __main__:find_survivors:30 - [2, 4, 8, 11, 16, 17, 22, 25, 29, 31, 35, 38, 40]
2024-02-14 19:13:17.761 | INFO     | __main__:find_survivors:30 - [2, 4, 8, 11, 16, 17, 22, 25, 29, 31, 35, 38]
2024-02-14 19:13:17.761 | INFO     | __main__:find_survivors:30 - [2, 4, 11, 16, 17, 22, 25, 29, 31, 35, 38]
2024-02-14 19:13:17.761 | INFO     | __main__:find_survivors:30 - [2, 4, 11, 16, 22, 25, 29, 31, 35, 38]
2024-02-14 19:13:17.762 | INFO     | __main__:find_survivors:30 - [2, 4, 11, 16, 22, 25, 31, 35, 38]
2024-02-14 19:13:17.762 | INFO     | __main__:find_survivors:30 - [2, 4, 11, 16, 22, 25, 31, 35]
2024-02-14 19:13:17.762 | INFO     | __main__:find_survivors:30 - [2, 4, 16, 22, 25, 31, 35]
2024-02-14 19:13:17.762 | INFO     | __main__:find_survivors:30 - [2, 4, 16, 22, 31, 35]
2024-02-14 19:13:17.763 | INFO     | __main__:find_survivors:30 - [4, 16, 22, 31, 35]
2024-02-14 19:13:17.763 | INFO     | __main__:find_survivors:30 - [4, 16, 31, 35]
2024-02-14 19:13:17.763 | INFO     | __main__:find_survivors:30 - [16, 31, 35]
2024-02-14 19:13:17.763 | INFO     | __main__:find_survivors:30 - [16, 31]
2024-02-14 19:13:17.763 | INFO     | __main__:main:38 - 最后剩下的两个人是编号为 16 和 31 的人

我们思考的是「约瑟夫问题」的一个变种(留1个丢1个):在一个环形队列中,每次将队列中第一张牌放到末尾,然后移除第一张牌,重复此操作直到只剩下一张牌时停止。我们要确定最后一张留在队列中的牌的位置。

首先考虑特殊情况:当队列中的牌数 n 为 2 的幂次时,比如1, 2, 4…,无论开始时第一张牌是什么,最后一张牌一定是第1张牌。

当 n 不是 2 的幂次时,巧妙的部分来了:考虑比 n 小的最大的 2 的 m 幂次,然后在第一个大循环中,留一张、丢一张,直到剩下 2 的 m 幂次张牌,此时我们就回到了问题的特殊情况:目前留下的第 1 张牌会留到最后。

在一个环中,哪张牌都可以看成第一张牌,比如19张牌的话,可以看成 2 ^ 4 + 3,留一张丢一张,三次后恰好构成2 ^ 4,此时将要留的那张牌即可看成是新环中的第一张,其索引位置即为2 * 3 + 1,也就是根据特殊情况:第7张牌会留到最后。

我们很容易推导出第k个牌可以留到最后:

现在考虑牌数为2 ^ n + a的情况。

因此:

因此,这个魔术中要想最后获得K,计算好的K的位置为:

  • 男生:2 * (6 - 2 ^ 2) + 1 = 5
  • 女生:2 * (5 - 2 ^ 2) + 1 = 3

这也就是7字真言的在这个魔术中作用。

小结

到这里,刘谦的第二个扑克牌魔术,我们已经揭秘了。毫无疑问,它本质上是一个数学魔术。

扑克牌魔术作为魔术的一个重要类型,其背后的原理大多与数学密切相关。通过深入学习数学,我们每个人都有可能成为一位出色的魔术师!不妨在家人和朋友面前展示一下你的技艺吧!

2024年,希望大家“烦恼丢出去,幸福(好运)留下来!”

最后

今天的分享就到这里。如果觉得不错,点赞,关注安排起来吧。

Magnet磁力资源 Magnet磁力资源,超强的磁力资源器,磁力资源,磁力资源 立即下载

相关推荐

caoporn-video-address-extractor:双击以获取CaoPorn的视频地址

caoporn视频地址提取器 双击获取视频地址!

2025软考网络工程师--基础知识精讲视频

对软考网络工程师教材进行了详细解析,通过对考查知识点的细致讲解,让考生掌握解题思路和方法,做到举一反三,事半功倍。小任老师帮你把握考试重点,用短的时间,让你学到应该掌握的软考网络工程师内容。

几个好看实用的网站导航

几个好看实用的网站导航 自己辛苦整理 今天吐血 分享 哈哈 网站 导航 使用 好看

FFmpeg播放器理论与实战(Qt+QSS)

1.比较系统地讲解音视频基础理论:音频基础、视频基础、编解码基础、等。2.比较系统地学习ffmpeg,剖析ffmepg sdk,可以进行二次开发。3.使用Qt,Qss开发专业的基于ffmpeg的播放器。梅老师从事音视频与流媒体行业18年;曾在永新视博、中科大洋、百度、美国Harris广播事业部等公司就职,经验丰富;曾亲手主导广电直播全套项目,精通h.264/h.265/aac,曾亲自参与百度app上的网页播放器等实战产品。目前全身心自主创业,主要聚焦音视频+流媒体行业,精通音视频加密、流媒体在线转码快编等热门产品。 

TorrentToMagnet

PHP 转换BT种子到 磁力链

Trae 海外版-国际版 下载

‌Trea目前有两个版本:海外版和国内版。‌ 版本差异 ‌大模型选择‌: ‌国内版‌:提供了字节自己的Doubao-1.5-pro以及DeepSeek的V3和R1版本。 ‌海外版‌:提供了ChatGPT以及Claude-3.5-Sonnet和3.7-Sonnet。 ‌功能和界面‌: 国内版和海外版的界面一致,但在大模型的选择上有所不同。国内版使用字节自己的模型和DeepSeek的版本,而海外版使用ChatGPT和Claude的版本。 下载与安装 Trea支持mac、windows和linux三大平台。用户可以通过前往Trea官网下载软件,下载完成后按照提示进行安装即可。安装完成后,用户可以选择手机号登录或使用稀土掘金账号一键登录‌

【干货】零基础30分钟让你拥有一个完整属于自己的短视频APP系统

导入.MD文档的 但是不知道为什么。。。就是转存不了图片~ 一、附言: 【干货】30分钟让你拥有一个完整属于自己的短视频APP系统-附带系统 首先以下内容步骤只要你按照步骤来 绝对能完美搭建起来的,零基础小白都可以,内容非常细。 首先第一步我们下载源码 YYC松鼠V1.5版本,附件我已经发了这里 直接可以下载,然后购买服务器和域名。 站长之家也可以直接下载到,很多地方可以下载能百度搜到。 下面我以...

一颗优雅草科技-央千澈的优快云博客~只想无穷无尽的学习~作息早8-晚8 56万+

projetFiab:xxxxxxxxxxxxxxx

项目Fiab xxxxxxxxxxxxxxx

YouTube-8M: A Large-Scale Video Classification Benchmark

Abstract Many recent advancements in Computer Vision are attributed to large datasets. Open-source software packages for Machine Learning and inexpensive commodity hardware have reduced the barrier

人工智能 127万+

久草cms1720190313.zip

可用于代码审计学习。

sakuracat.docx

SakuraCat是一个具有多重含义的词汇,根据不同的上下文,它可以指代不同的实体或概念。以下是对SakuraCat的几种可能解释: 1. 宠物用品品牌 品牌概述:Sakuracat是一家专注于宠物用品的公司,其产品主要面向猫这一消费群体。该公司致力于提供高质量、精心设计的宠物用品,以满足猫咪的各种需求。 产品种类:Sakuracat官网展示了一系列宠物用品,包括但不限于猫粮、猫砂、猫玩具等。这些产品都是根据猫的需要进行研发的,旨在为猫咪创造一个舒适、健康的生活环境。 服务特点:Sakuracat官网设计简洁且易于导航,用户可以快速找到自己感兴趣的内容和产品。此外,官网还提供了丰富的猫相关信息,如饲养技巧、健康问题和训练建议等,帮助用户更好地照顾和了解自己的猫咪。 2. 虚拟宠物游戏 游戏概述:在另一种语境下,sakuracat可能指的是一款虚拟宠物游戏。在这款游戏中,玩家需要照料、抚养和培训自己的“sakuracat”(樱花猫),以提高它的能力和快乐度。 游戏玩法:玩家可以通过购买食物、玩具和其他物品来照顾自己的sakuracat,并参与各种任务和挑战。此外,游戏还提供了与其他玩家

guochan.rar_guochan在线_taoh18.com guochan_www.guochan._www.guocha

仿百度贴吧的单版面,实为简单的论坛,分匿名和注册发贴两种 解压密码:无 值得一看

XXX.rar_39xxx俄罗斯_JAVA俄罗斯方块_XXX俄罗斯_俄罗斯xxx_俄罗斯xxx动漫

俄罗斯方块游戏,用Java编,可在ECLIPSE环境下运行

xxxx.rar_tube24XXXX_数码管动态显示

数码管显示一般分静态显示及动态显示两种驱动方式,静态显示占用口线比较多,本文介绍的是如何实现数码管动态显示,应该说数码管动态显示是单片机外部指令输出的重要途径,因此如何设计数码管以及数码管的工作原理、数码管显示的方法、数码管显示的抗干扰设计等在单片机系统设计中占有重要地位。这个例子在系统硬件的基础上设计了软件查询程序、软件延时程序(防止干扰),大致讲述了一种数码管动态显示的工作原理与读取方式。

m3u8视频文件在线播放器在线播放接口,附完整源码

使用方法: 源码上传好输入m3u8地址回车即可 接口测试:视频格式基本全部支持在线播放,不仅限于m3u8 使用方法:http://你的域名/?url=m3u8地址

MSP430FR6x7x_Code_Examples.zip_69XX网站_msp430_msp430fr69xx_www69x

msp430fr69xx代码示例,超详细msp430示例程序

MSP430FR58xx59xx68xx69xx-.zip_www59xx_wwwxx69xxcon_xx59cOm_xx68x

如何从MSP430F5系列和F6系列移植到MSP430FR58xx59xx68xx69xx系列 希望对大家有用

电影网址大全网站源码 v20131101

电影网址大全,吸取了以往各种导航网址程序的优点,最大程度的完善优化了各项功能和指标,采用谁对我站贡献大,我站也给予他宣传和展示的机会就越多的流量交换模式,只要您在本系统注册登记您的网址,然后在你网站做好我站连接或是挂上流量互换代码,每次您网站有用户访问到放置我站流量互换代码的站,那么你的网站将在最近入站以及你网站所在分类的第一位置!连接双方公正平等。 1.管理目录admin,管理员用户名19mt,密码19mtcom 2.修改数据库名19mtcom.asa修改成自己想要的名即可! 3.后台分类建议自己修改,要不大家的分类都相同影响百度收录。 ☆系统前台简介☆ 1.采用ASP+ACCESS架构,安全稳定,防注入功能; 2.新闻文章发布功能支持无限级分类,方便自由; 3.数据库经过防下载等安全处理,后台可超强命名,随意改动; 4.每来访一个IP,来访网站就会自动排到第一,当天来路不同,显示颜色也不同,鼓励点入; 5.前台统计数据调用,最新点入网站调用,未审核网站调用等; 6.申请加入电影网址大全的网站按最后点进的时间排序首页和分类显示链接; 7.分类以昨日点入时间为准,每晚十二点后生成静态; 8.每来访一个IP,就会自动排到第一,当天来路次数不同,显示颜色也不同:有1次即显示,10次即套蓝色,30次即套红色加粗; 9.首页白天3分钟,晚上5分钟自动更新一次,全站24小时手动更新一次; 10.站内搜索功能,方便用户找到自己想要的网址; 11.程序全面优化和升级,增强对搜索引擎的收录功能; 12.流量互换功能,最大程度互换流量。 ☆系统后台功能详细说明☆ ☆网站管理系统 1.网站基本信息,说明:里面设置,网站标题,LOGO,关键词,统计代码,版权信息! 2.图片广告管理,说明:网站所有图片广告修改的地方,在首页可以看到所有图片广告,其中ads09是在网址内页显示!其它的都在首页和分类页有位置显示! 3.顶部文字广告管理,说明:这里的文字,首页,特别推荐里面显,分类首页和分类页,记得,改后要在生成html管理里,生成一下首页! 4.添加商家文字广告,说明:这里的文字,首页,中间部分,广告,那里的文字,在图片广告下面,一行七个! 5.管理商家文字广告,说明:修改删除商家文字广告! 6.管理帐号设置,说明:管理员用户名,密码的修改! 9.客户留言管理,说明:留言本的回复,修改和删除! ☆网站分类管理 1.类别添加管理,说明:分类添加删除管理,这里说明一下添加时有首页显示,导航就显示在首页上面,添加时选酷站显示,就在首页下面酷站里调用! 2.类别删除管理,说明:删除不想要的分类! 3.类别修改管理,说明:分类修改里,有显示,[首][酷]就是上面说明的首页显示,和酷站显示! ☆网址管理系统 1.添加网址链接,说明:用于后台管理员手工添加网址 2.添加实用查询|管理实用查询,说明:添加后在首页实用工具里显示! 3.添加名站导航|管理名站导航,说明:添加后在首页名站导航里显示! 4.添加友情链接|管理友情链接,说明:添加后在首页下部友情链接里显示! 5.查看所有的网址,说明:包含站长加的和用户自己加的! 6.站长加入的网址,说明:站长加入的网址! 7.用户加入已审核,说明:用户提交的网址,并通过审核的,说明一下,本站有自动审核功能,开启关闭,在 网站管理系统-网站基本信息里设置! 8.用户加入未审核,说明:用户提交的网址没审的,也就是没有作上本站链接的,或是作上链接没有点击到本站的! 9.有来路入未审核,说明:一般用户认为,有来路就应当审核了,这个功能,是为了关闭自动审核而设计的,手工审核的不管有没有来路,都要站长审核的! 10.加入黑名单网站,说明:加入黑名单的网址,点击这个导航,进入后,可以删除,和取消黑名单! 11.总来路小于五次,说明:本设计用于客户作上本站链接,点入量过小,没有贡献的站,可以多选删除! 12.常用维护共三项,说明:(1)开通所有未审的,一般不用这个,如果想要提交的站就收录,可以点击这个功能!(2)删除重复的网站,有一些站长提交过了,又提交了多次或是用二级域名提交,这样可以删除重复的网站!(3)删除所有未审核的站点,(4)清空所有网址,这个点时要注意,点击了,所有网址就都没有了! 13.站内报错,说明:用户在网址详提交网址打不开的情况页点击的! 14.站内网站搜索,说明:可以按名称,按网址,按分类,按ID号进行搜索! ☆模版修改管理 首 页 模版修改 分类页模版修改 关于本站页模板 (这里建议会一些HTML知识的站长修改,如果不会不建议修改以免出错,修改时一定要备份) ☆生成html管理 生成分类页面 生成生成主页及其他页 重置统计数据 清除昨天点入数据 清除总点入数据 清除总点出数据 (

上一篇: 堆排序-Python实现
下一篇: attrs,一个OOP编程的Python高效神器
海哥python
博客等级 码龄9年 1487粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海哥python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值