发布网友 发布时间: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
联系我,价格美丽追问给个联系方式