我創造了這個功能: generate_seat_number(movie_index,number_of_tickets)如何在python中自動生成數字?
,我需要自動生成從1開始的由M前綴,所以像「M1-1」電影1座位號,「M1-2 「,」M1-3「等,但我不確定如何做到這一點。
我會用一個for循環?
我創造了這個功能: generate_seat_number(movie_index,number_of_tickets)如何在python中自動生成數字?
,我需要自動生成從1開始的由M前綴,所以像「M1-1」電影1座位號,「M1-2 「,」M1-3「等,但我不確定如何做到這一點。
我會用一個for循環?
剛剛嘗試類似如下:
seat_numbers = ["M1-"+ str(i) for i in range(1, 101)]
如果你正在使用Python 3.6及更高版本,可以使用fstrings:
[f'M1-{i}' for i in range(1, 11)]
如果你有功能癢,
list(map(lambda i: f'M1-{i}', range(1, 11)))
由於問題不是超清晰,我可以摹有幾個版本可能有效,具體取決於你回來的內容。
原子通話情況:
def generate_seat_number(idx, num):
return "M{}-{}".format(idx, i)
列表返回到調用者:
def generate_seat_number(idx, num):
ret_list = []
# 1 because humans don't start at 0
# num+1 because range is not inclusive
for i in range(1,num + 1):
ret_list.append("M{}-{}".format(idx, i))
return ret_list
發電機情況:
def generate_seat_number(idx, num):
for i in range(1, num+1):
yield "M{}-{}".format(idx, i)
希望這有助於。如果您需要更多幫助,請留下評論。
這應該工作:
NUMBER_OF_SEATS = 10個
NUMBER_OF_ROWS = 5
行= 0
在範圍X(0,NUMBER_OF_ROWS):
row += 1
seats_left = number_of_seats - 1
for x in range (0, number_of_seats):
print("M" + str(row) + "-" + str(number_of_seats - seats_left))
seats_left -= 1
'由於它使用列表推導,所以答案會更快。 – bR3nD4n