【问题标题】:Small home project小户型项目
【发布时间】:2019-05-11 06:01:40
【问题描述】:

代码有点像这样:

import random

Employees = ["John", "tod", "mike", "Jim", "Kim", "liz", 
"lizzy", "jane", "nikki", "niko"]

Monday = []
Tuesday = []
Wednesday = []
Thursday =[]
Friday = []
Saturday = []
Sunday  = []
Off = []

Shift _one = random.choice(employees)
While Monday in range (3):
    Monday.append(shift_one)
Print(shift_one)

这是我的代码 我很确定有更好的方法来写这个。 我需要获取此代码来选择 3 人进行 3 次轮班,其余的人将被添加到关闭。 我认为需要 if /else 语句。我似乎无法让循环正确选择每天 3 人(或根本不选择 3 人)。

【问题讨论】:

  • 这里有问题吗?如果您可以提供一些示例输入以及您期望输出的样子,这将使试图帮助您的人更容易。你表示“我很确定有更好的方法来写这个”,这意味着它目前正在工作(尽管我不相信这是这种情况)。那么你在寻找什么来改进它呢?代码是否太长?执行需要很长时间吗?假设它不起作用,您需要哪些帮助?轮班选人(或不选人轮班)的规则是什么?
  • 你说的太对了。我只是想让代码的基本框架起作用。代码背后的想法是每班随机选择一定数量的工人。该计划是在未来的某个时候将时间引入代码中。它“工作”没有任何错误,它的输出是一个名称。我只是想让它每天输出三个随机名称,每个名称的重复次数都不能超过每周 5 次
  • 这甚至不是有效的 Python 语法。它不可能工作或给你输出。
  • @Clarke- 这是正确的吗?工作周 = 7 天,每天的员工人数 = 3,每位员工的最大工作日数 = 5。如果是这样,请更新您的问题。

标签: python python-3.x


【解决方案1】:

您大致走在正确的轨道上。您应该研究的一件事是whilefor 循环之间的区别以及它们的一般语法。你的一些线路的位置也被关闭了。这需要练习,但最终循环的创建成为第二天性。下面我写了一个例子给大家看看(注意,for循环中的idx变量是占位符变量):

for idx in range( 3 ):
    random_employee = random.choice( employees )
    Monday.append( random_employee )

print( Monday )

shift_one = Monday[ 0 ]
shift_two = Monday[ 1 ]
shift_three = Monday[ 2 ]

print( shift_one )
print( shift_two )
print( shift_three )

【讨论】:

  • 哇,哇。阅读您的代码 - 我有很多东西要学。感谢大家对该项目的投入。
猜你喜欢
  • 1970-01-01
  • 2013-04-08
  • 1970-01-01
  • 1970-01-01
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多