Создание сетки чисел в python с использованием списка - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь написать программу, которая принимает число, n. Программа распечатает числа от n до n + 41 как 6 строк по 7 чисел Первая строка будет содержать значения от n до n + 6, вторая - от n + 7 до n + 7 + 6 и т. Д.

Пример ввода / вывода:

Введите стартовый номер: -2

-2 -1 0 1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30 31 32

33 34 35 36 37 38 39

Пример ввода / вывода выглядит немного странно здесь, но я уверен, что вы можете видеть это.

Я понимаю, как использовать вложенные циклы, чтобы сделать треугольник, но я не могу понять, как напечатать его в квадрате со следующей строкой со значением предыдущей строки + 1.

Любая помощь будет высоко ценится

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Первое для l oop - ключ к вашей проблеме. Он начинается с введенного номера и переходит к этому номеру плюс 40 с шагом 6.

starter = int (input ('Введите число:'))

for x in range (starter, starter + 40, 6) :
    for y in range (6) :
        print (x + y, end = ' ')
    print ()
0 голосов
/ 01 мая 2020

Прежде чем дать вам возможное решение, я предлагаю вам внимательно прочитать много информации о языке Python, который есть как в StackOverflow, так и, в общем, в inte rnet.

You вероятно, вы найдете ответы на ваши вопросы просто прочитав.

Это может быть один из способов, если я правильно понимаю вопрос, для получения желаемого результата:

# WITHOUT LIST
n = int(input('Enter the start number: '))
printed_values = 0
row_lenght = 7 # values for row
print('\nOUTPUT:\n')
for i in range(n, n+42, 1):
    print(i, end='\t')
    printed_values += 1
    if not printed_values%row_lenght:
        #a row is printed, reset printed_values
        printed_values = 0
        print('\n')

# WITH LIST
n = int(input('Enter the start number: '))
row_lenght = 7 # values for row
values = list(range(n, n+42, 1))
print('\nOUTPUT:\n')
for i in range(0, len(values), row_lenght):
    for value in values[i:i+row_lenght]:
        print(value, end='\t')
    print('\n')

Я надеюсь это легко понять.

...