在Python中自动生成数字

在Python中自动生成数字,python,Python,我创建了这个函数: 生成座位号(电影索引、票数) 我需要为电影1自动生成以1开头的座位号,前缀是M,比如“M1-1”、“M1-2”、“M1-3”等等,但我不确定怎么做 我会使用for循环吗 试试下面的方法: seat_numbers = ["M1-"+ str(i) for i in range(1, 101)] 如果您使用的是Python 3.6+,则可以使用: 如果你有功能性瘙痒 由于这个问题不是非常清楚,我可以给出一些可能有效的版本,这取决于你得到了什么 原子调用案例: def gene

我创建了这个函数: 生成座位号(电影索引、票数)

我需要为电影1自动生成以1开头的座位号,前缀是M,比如“M1-1”、“M1-2”、“M1-3”等等,但我不确定怎么做


我会使用for循环吗

试试下面的方法:

seat_numbers = ["M1-"+ str(i) for i in range(1, 101)]

如果您使用的是Python 3.6+,则可以使用:

如果你有功能性瘙痒


由于这个问题不是非常清楚,我可以给出一些可能有效的版本,这取决于你得到了什么

原子调用案例:

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)
希望这有帮助。如果需要更多帮助,请留下评论。

这应该可以:

座位数=10

行数=5

行=0

对于范围内的x(0,行数):


的答案会更快,因为它使用的是列表理解。
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)
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