Я хотел бы сжать этот раздел кода ниже.
Selector()
print(week[0], "A:", x, "B:", y, "C:", z)
Selector()
print(week[1], "A:", x, "B:", y, "C:", z)
Selector()
print(week[2], "A:", x, "B:", y, "C:", z)
Selector()
print(week[3], "A:", x, "B:", y, "C:", z)
Selector()
print(week[4], "A:", x, "B:", y, "C:", z)
Selector()
print(week[5], "A:", x, "B:", y, "C:", z)
Selector()
print(week[6], "A:", x, "B:", y, "C:", z)
Я хотел бы сделать простой l oop, чтобы вызвать функцию, затем оператор print и увеличить значение в "week []" 1 за каждый раз, когда она печатается.
Полный код:
import random
import calendar
week = []
for i in calendar.day_name:
week.append(i)
listA = ["Patsy", "Spam", "Eggs", "Foo"]
def Selector ():
listB = [i for i in listA]
random.shuffle(listB)
for i in listB:
global x
x = i
listB.remove(i)
break
random.shuffle(listB)
for i in listB:
global y
y = i
listB.remove(i)
break
random.shuffle(listB)
for i in listB:
global z
z = i
listB.remove(i)
break
Selector()
print(week[0], "A:", x, "B:", y, "C:", z)
Selector()
print(week[1], "A:", x, "B:", y, "C:", z)
Selector()
print(week[2], "A:", x, "B:", y, "C:", z)
Selector()
print(week[3], "A:", x, "B:", y, "C:", z)
Selector()
print(week[4], "A:", x, "B:", y, "C:", z)
Selector()
print(week[5], "A:", x, "B:", y, "C:", z)
Selector()
print(week[6], "A:", x, "B:", y, "C:", z)
Что дает желаемый результат:
Monday A: Spam B: Patsy C: Eggs
Tuesday A: Eggs B: Foo C: Spam
Wednesday A: Spam B: Patsy C: Eggs
Thursday A: Eggs B: Patsy C: Foo
Friday A: Spam B: Foo C: Patsy
Saturday A: Patsy B: Eggs C: Spam
Sunday A: Patsy B: Foo C: Spam
Я пробовал это l oop:
def schedule():
for int in week [0]:
if int < 7:
print(week[0], "A:", x, "B:", y, "C:", z)
Я получаю: TypeError: '<' не поддерживается между экземплярами 'str' и 'list'. Я понятия не имею, где go отсюда. </p>
Я новичок в программировании, так что, возможно, есть лучший способ go обо всем этом. Я открыт для предложений.
Спасибо!