求助这个python入门问题

发布网友 发布时间:2022-04-22 05:28

我来回答

3个回答

热心网友 时间:2023-06-27 05:03

import random


def seat(x, y):
    # x是椅子数,y是男人数
    z = 0  # 最大空值
    a = 0  # 变量a存储间隔最大的空值
    b = 0  # 变量b存储位置
    end = []  # 数据是元祖(a,b)
    li = [0 for i in range(x)]  # 把椅子数初始化为0
    x0 = random.randint(1, x)  # 第一个人随机分配位置
    li[x0 - 1] = 1
    print(li)
    y = y - 1
    while y > 0:
        for j in range(len(li)):  # 循环遍历出有0数量做多的数量和列表的位置,分别存在a,b中
            if li[j] == 0:
                z += 1
                if a < z:
                    a = z
                    b = j
            else:
                z = 0
        end.append((a, b))
        li[end[0][1] - end[0][0] // 2] = 1  # 列表位置减去数量的一半就是插入的人的座位
        print(li)
        end = []
        a = 0
        z = 0  # 清空临时变量
        y -= 1


if __name__ == '__main__':
    while True:
        x = int(input('输入椅子数量:'))
        y = int(input('输入男人数量:'))
        seat(x, y)
        if x < y:
            print('重新输入')

座椅用0表示,人用1表示

热心网友 时间:2023-06-27 05:04

这道题我回答过的,怎么就不搜一下?

长椅和人

热心网友 时间:2023-06-27 05:04

联系我,价格美丽追问给个联系方式

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com