在Python中自动生成数字
我创建了这个函数: 生成座位号(电影索引、票数) 我需要为电影1自动生成以1开头的座位号,前缀是M,比如“M1-1”、“M1-2”、“M1-3”等等,但我不确定怎么做在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
我会使用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