Как напечатать только одно сообщение для разных результатов - PullRequest
0 голосов
/ 01 апреля 2020

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

a = int(input('First Integer: '))
b = int(input('Second Integer: '))
if a < b:
    for i in range(a, b + 1):
        print('The Numbers in Ascending Order Are: ', i)
else:
    for i in range(a, b - 1, -1):
        print('The Numbers in Descending Order Are: ', i)

Ответы [ 5 ]

3 голосов
/ 01 апреля 2020

Прежде всего, напечатайте сообщение заказа перед каждым for l oop. Во-вторых, вы можете использовать range следующим образом:

a = int(input('First Integer: '))
b = int(input('Second Integer: '))

if a < b:
    print('The Numbers in Ascending Order Are: ')
    for i in range(a,b + 1): # adding 1 to include b
        print(i)
else:
    print('The Numbers in Descending Order Are:')
    for i in range(a , b - 1, -1): # reducing 1 to include b
        print(i)

Ввод:

First Integer: 1
Second Integer: 5

Выход:

1
2
3
4
5

Ввод:

First Integer: 5
Second Integer: 1

Выход:

5
4
3
2
1
2 голосов
/ 01 апреля 2020

Не печатайте каждый элемент в al oop тогда.

Напишите вместо.

Код

a = int(input('First Integer: '))
b = int(input('Second Integer: '))
if a < b:
  print(f'The Numbers in Ascending Order Are: {list(range(a, b+1))}')

else:
  print(f'The Numbers in Descending Order Are: {list(range(a, b-1, -1))}')

Выход

enter image description here

enter image description here

Другой подход с для l oop

a = int(input('First Integer: '))
b = int(input('Second Integer: '))
if a < b:
  temp = []
  for i in range(a, b + 1):
    temp.append(i)
  print('The Numbers in Ascending Order Are: ', temp)
else:
  temp = []
  for i in range(a, b - 1, -1):
    temp.append(i)
  print('The Numbers in Descending Order Are: ', temp)

Выход

0 голосов
/ 01 апреля 2020

Чтобы избежать повторения сообщения, извлеките его из для l oop, например:

a = int(input("First Integer:"))
b = int(input("Second Integer:"))
if (a < b):
    print("The numbers in ascending order are:")
    for number in range(a, b + 1):
        print(number)
else:
    print("The numbers in descending order are:")
    for number in range(a, b - 1, -1):
        print(number)

Пример выходных данных:

First Integer:5
Second Integer:2
The numbers in descending order are:
5
4
3
2

First Integer:2
Second Integer:4
The numbers in ascending order are:
2
3
4
0 голосов
/ 01 апреля 2020

Вам нужно исправить свой второй l oop, и каждое сообщение должно быть выдано с результатом l oop вместо каждого элемента.

a = int(input('First Integer: '))
b = int(input('Second Integer: '))
asc = ", ".join([str(i) for i in range(a, b + 1)])
desc = ", ".join([str(i) for i in range(b, a - 1, -1)])

if a < b:
    print(f'The Numbers in Ascending Order Are: {asc}')
    print(f'The Numbers in Descending Order Are: {desc}')
0 голосов
/ 01 апреля 2020

Вы можете сортировать их:

a = int(input("First Integer"))
b = int(input("Second Integer"))
c = [a,b]
if a < b:
  sorted(c)
else:
  sorted(c,reverse=True)
...