指鹿为马排序
搞笑指数:🤣🤣🤣🤣🤣
1. 题目描述
题目描述
聚集一帮人并向他们展示要排序的列表。询问他们这个列表是否是排序好的;干掉其中认为没有排序好的人,重复几次,直到所有人同意这个列表是排序好的。
2. 关键点
- 《指鹿为马》
3. 代码实现
点击显示代码
python
import random
def 指鹿为马排序(lst):
"""指鹿为马排序"""
丞相 = '赵高'
皇帝 = '秦二世胡亥'
满朝文武 = ['甲', '乙', '丙', '丁', '戊']
print(
f'丞相{丞相}拿出了原始列表献给皇帝{皇帝},'
'说:“这是一个已经排好序的列表,特意献给陛下鉴赏。”')
print(
f'皇帝{皇帝}看了看,心想这列表明明没有排好序,为何{丞相}说排好了呢?'
'便问道:“丞相弄错了吧?这列表明明没有排好序,怎么说排好了呢?”')
print(
f'{丞相}没有理会{皇帝}的话,而是一本正经对着满朝文武问道:'
'“你们说说,这列表排好没有?”')
还活着的满朝文武 = []
for 官员 in 满朝文武:
回答 = random.choice(['已经排好', '没有排好'])
print(f'>>> 官员{官员}回答说:{回答}')
if 回答 == '没有排好':
print(f'官员{官员}被拖了出去,不久外面传来一声惨叫')
else:
还活着的满朝文武.append(官员)
print('满朝文武官员还剩{}活着'.format('、'.join(还活着的满朝文武)))
print('\n至此,所有人都说此列表已经排好了序,你说呢?')
x = input('你说这列表排好了吗?[yes/no]: ')
if x == 'yes':
print('你学会了指鹿为马排序算法')
else:
print(
'你没有学会指鹿为马排序算法,满朝文武都看向了你,'
'你再也没有机会学此算法了')
lst = [random.randint(0, 10) for i in range(10)]
print(lst)
指鹿为马排序(lst)
print(lst)
4. 运行示例
txt
[0, 4, 4, 7, 0, 2, 5, 8, 9, 3]
丞相赵高拿出了原始列表献给皇帝秦二世胡亥,说:“这是一个已经排好序的列表,特意献给陛下鉴赏。”
皇帝秦二世胡亥看了看,心想这列表明明没有排好序,为何赵高说排好了呢?
便问道:“丞相弄错了吧?这列表明明没有排好序,怎么说排好了呢?”
赵高没有理会秦二世胡亥的话,而是一本正经对着满朝文武问道:“你们说说,这列表排好没有?”
>>> 官员甲回答说:没有排好
官员甲被拖了出去,不久外面传来一声惨叫
>>> 官员乙回答说:已经排好
>>> 官员丙回答说:没有排好
官员丙被拖了出去,不久外面传来一声惨叫
>>> 官员丁回答说:已经排好
>>> 官员戊回答说:已经排好
满朝文武官员还剩乙、丁、戊活着
至此,所有人都说此列表已经排好了序,你说呢?
你说这列表排好了吗?[yes/no]: yes
你学会了指鹿为马排序算法
[0, 4, 4, 7, 0, 2, 5, 8, 9, 3]
5. 进阶思考
无