Python 递增print语句中的值
我想把这段代码浓缩到下面Python 递增print语句中的值,python,loops,printing,Python,Loops,Printing,我想把这段代码浓缩到下面 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
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)
我想做一个简单的循环来调用函数,然后调用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
我试过这个循环:
def schedule():
for int in week [0]:
if int < 7:
print(week[0], "A:", x, "B:", y, "C:", z)
def schedule():
对于第[0]周的整数:
如果int<7:
打印(第[0]周,“A:”,x,“B:”,y,“C:”,z)
我得到:TypeError:“您试图迭代列表的第一个元素,而不是列表本身。此外,您根本不需要索引;在列表上迭代可以得到元素本身
def schedule():
for w in week:
Selector()
print(w, "A:", x, "B:", y, "C:", z)
不过,您可以将其大大简化。如果您只想从listA
中获得三个随机元素,请执行以下操作
for w in week:
x, y, z = random.sample(listA, 3)
print(f"{w} A: {x} B: {y} C: {z}")