Предмет: Информатика, автор: Abcdefg12345678910

Пользователь вводит с клавиатуры две границы диапазона и число.
Если число не попадает в диапазон,
программа просит пользователя повторно ввести число,
и так до тех пор, пока он не введет число правильно.
Программа отображает все числа диапазона, выделяя число
восклицательными знаками.
Например:
1 2 3 !4! 5 6 7.


hopipiko121: язык какой?
Abcdefg12345678910: python
hopipiko121: ооо
hopipiko121: кайф

Ответы

Автор ответа: ILFV183
0

python:

lst = [*range(int(input('Левая граница диапазона: ')), int(input('Правая граница диапазона: ')) + 1)]

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

if n not in lst:

   while n not in lst:

       n = int(input('Введите число еще раз: '))

print(' '.join([str(i) if i != n else f'!{i}!' for i in lst]))

Автор ответа: hopipiko121
1

b = int(input("первая граница: "))

m = int(input("вторая граница: "))

с=0

if m>b:

   c = b;

   b = m;

   m = c;

while True:

   n = int(input("число: "))

   if n >= m and n <= b:

       break

for i in range(m,b+1):

  if i==n:

       print('!',i,'!', sep="")

   else:

       print(i)


Abcdefg12345678910: но в консоли тображается только число которое между восклицательными знаками и вторая граница
Abcdefg12345678910: а нужно чтобы было например если первая граница 2 вторая 7 а выбранное число 5, в консоли было 2 3 4 !5! 6 7
hopipiko121: не понял что точно случилось не так, но у меня все работает, возможно вы где-то ошиблись. Если вы хотите что бы в консоли все числа(включая выбранное число, веделенное запятой) отображались в строку (1 2 !3! 4 5), то последний цикл for ( for i in ran...) замените следующим образом:
hopipiko121: for i in range(m,b+1):
if i==n:
i= '!'+str(i)+'!'
print(i,end=' ')
else:
print(i,end=' ')
hopipiko121: к сожалению форматирование не сохранилось, но вы можете спокойно ориентироваться по данному выше ответы и переписать соответствующие операторы if и else
Похожие вопросы
Предмет: Геометрия, автор: aleshkokostya1
Предмет: Английский язык, автор: Stonksmen17