Python初学者遇到的基础问题

这个代码有点问题,但没有满足原题中每行数字由小到大升序排列的要求,麻烦看一下,在原基础上改一下谢谢

img


上面这个是要求

import random

numbers = int(input("How many quick picks"))
total = []
for i in range(numbers):
    picks = []
    for i in range(6):
        
        while pick in picks:
            pick = random.randint(1,45)
        picks.append(pick)
    picks.sort()
    total.append(picks)
    for j in range(6):
        print(f"picks[j]:{2}",end=' ') 
print(total)

如果想要保证代码简洁,那么就这么写,3行代码足够了

import random

for i in range(int(input("How many quick picks? "))):
    print(*sorted([random.randint(1, 45) for j in range(6)]))

img

11行要再缩进一层,成为while循环代码块

import random

CONSTANTS = []

def main():
    n = int(input("How many quick picks? "))
    for i in range(n):
        picks = []
        for i in range(6):
            pick = random.randint(1,45)
            while pick in picks:
                pick = random.randint(1,45)
            picks.append(pick)
            picks.sort()
        CONSTANTS.append(picks)
    for picks in CONSTANTS:
        for i in picks:
            print(f"{i:2} ", end = '')
        print("")

if __name__ == "__main__":
    main()