[英]Auto-generate numbers in Python
I've created this function: generate_seat_number(movie_index,number_of_tickets)我创建了这个函数: generate_seat_number(movie_index,number_of_tickets)
and I need to auto generate seat numbers that start with 1 for movie 1 prefixed by M so like "M1-1","M1-2","M1-3"and so on but I'm not exactly sure how to do this.我需要为电影 1 自动生成以 1 开头的座位号,以 M 为前缀,例如“M1-1”、“M1-2”、“M1-3”等,但我不确定该怎么做这个。
would I use a for loop?我会使用for循环吗?
只需尝试以下操作:
seat_numbers = ["M1-"+ str(i) for i in range(1, 101)]
Since the question isn't super clear, I can give a few versions that might work, depending on what you are getting back.由于问题不是很清楚,我可以提供一些可能有效的版本,具体取决于您返回的内容。
Atomic call-case:原子调用案例:
def generate_seat_number(idx, num):
return "M{}-{}".format(idx, i)
List return to caller:返回给调用者的列表:
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
Generator case:发电机案例:
def generate_seat_number(idx, num):
for i in range(1, num+1):
yield "M{}-{}".format(idx, i)
Hope this helps.希望这可以帮助。 Leave a comment if you need more help.
如果您需要更多帮助,请发表评论。
This should work :这应该工作:
number_of_seats = 10 number_of_seats = 10
number_of_rows = 5 number_of_rows = 5
row = 0行 = 0
for x in range (0, number_of_rows):对于范围内的 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.