[英]How to iterate following strings in python dynamically or by taking input from user?
這是問題所在:
number_of_batches = 8
number_of_dishes = 6
batch_names = batch_1 , batch_2, batch_3,batch_4, batch_5, batch_6, batch_7,batch_8
dish_names = dish_1, dish_2, dish_3, dish_4, dish_5, dish_6
預期輸出:
batch_1: dish_1, dish_2, dish_3, dish_4, dish_5, dish_6
batch_2: dish_2, dish_3, dish_4, dish_5, dish_6, dish_1
batch_3: dish_3, dish_4, dish_5, dish_6, dish_1, dish_2
batch_4: dish_4, dish_5, dish_6, dish_1, dish_2, dish_3
batch_5: dish_5, dish_6, dish_1, dish_2, dish_3, dish_4
batch_6: dish_6, dish_1, dish_2, dish_3, dish_4, dish_5
batch_7: dish_1, dish_2, dish_3, dish_4, dish_5, dish_6
batch_8: dish_2, dish_3, dish_4, dish_5, dish_6, dish_1
如果都是字符串,則使用deque
獲得不錯的rotate
方法
from collections import deque
number_of_batches = 8
number_of_dishes = 6
batches = [f"batch_{i + 1}" for i in range(number_of_batches)]
dishes = deque(f"dish_{i + 1}" for i in range(number_of_dishes))
for batch in batches:
print(batch, ":", *dishes)
dishes.rotate(-1)
batch_1 : dish_1 dish_2 dish_3 dish_4 dish_5 dish_6
batch_2 : dish_6 dish_1 dish_2 dish_3 dish_4 dish_5
batch_3 : dish_5 dish_6 dish_1 dish_2 dish_3 dish_4
batch_4 : dish_4 dish_5 dish_6 dish_1 dish_2 dish_3
batch_5 : dish_3 dish_4 dish_5 dish_6 dish_1 dish_2
batch_6 : dish_2 dish_3 dish_4 dish_5 dish_6 dish_1
batch_7 : dish_1 dish_2 dish_3 dish_4 dish_5 dish_6
batch_8 : dish_6 dish_1 dish_2 dish_3 dish_4 dish_5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.