Создание таблицы сложения, используя только циклы for в eclipse с помощью Python

#python #eclipse #addition

#python #eclipse #добавление

Вопрос:

Вот как это должно выглядеть:

 Enter start value: 1
Enter end value: 5

Addition Table

          1    2    3    4    5
      -------------------------
    1|    2    3    4    5    6
    2|    3    4    5    6    7
    3|    4    5    6    7    8
    4|    5    6    7    8    9
    5|    6    7    8    9   10
  

Это то, что у меня есть на данный момент:

 start = int(input("Enter start value: "))
end = int(input("Enter end value: "))
increment = int(input("Enter an increment value: "))

limit = end   1  # So that limit can be inclusive in the following loop

# So that we can have a space between "Enter end value" and the results.
print()
total = 0
for top in range(start, limit, increment):
    print("    {}".format(top), end="")
    total = total   1

print()
print("    {}".format("-" * (total * 6)), end="")
print()
for horizontal in range(start, limit, increment):
    print("{}|    {}    {}    {}    {}    {}".format(horizontal, horizontal   increment, horizontal  
                                                     increment * 2, horizontal   increment * 3, horizontal   increment * 4, horizontal   increment * 5))
  

*** ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ ****

От меня требуется использовать только циклы for. Никаких циклов while или любого другого метода. Строго для циклов и операторов if, если требуется. Я действительно застрял в этой программе. Приветствуется любая помощь.

Комментарии:

1. что вы получаете? кстати. эта проблема не имеет ничего общего с eclipse.

2. внутри for horizontal вы могли бы использовать другой for цикл для отображения любого количества столбцов.

3. вы можете использовать ie. {:>7} вместо {} пробелов и. Подробнее: pyformat.info

4. @furas Не могли бы вы показать мне, как именно я мог бы это сделать? Я пытался, но, очевидно, безуспешно

Ответ №1:

Вы можете использовать один for цикл внутри другого for цикла для создания другого количества столбцов.

Кроме того, вы можете использовать string formatting (PyFormat.info) если это разрешено в задаче.

 start = int(input("Enter start value: "))
end = int(input("Enter end value: "))
increment = int(input("Enter an increment value: "))

limit = end   1  # So that limit can be inclusive in the following loop

# So that we can have a space between "Enter end value" and the results.
print()

total = 0
print("   |", end="")
for top in range(start, limit, increment):
    print("{:>6}".format(top), end="")
    total  = 1
print()

print("--- {}".format("-" * (total*6)))

for y in range(start, limit, increment):
    print("{:>3}|".format(y), end="")
    for x in range(start, limit, increment):
        print("{:>6}".format(x y), end="")
    print()
  

Результат

 Enter start value: 1
Enter end value: 15
Enter an increment value: 2

   |     1     3     5     7     9    11    13    15
--- ------------------------------------------------
  1|     2     4     6     8    10    12    14    16
  3|     4     6     8    10    12    14    16    18
  5|     6     8    10    12    14    16    18    20
  7|     8    10    12    14    16    18    20    22
  9|    10    12    14    16    18    20    22    24
 11|    12    14    16    18    20    22    24    26
 13|    14    16    18    20    22    24    26    28
 15|    16    18    20    22    24    26    28    30
  

Комментарии:

1. Спасибо! Я, наконец, понял, что делаю гораздо больше циклов for, но ваш мне нравится больше. Еще раз спасибо.