Почему после добавления в переменную, текст. Добавлений текст не отображается?

Когда я запускаю код. То в цикле который повторяется 3 раза, не добавляется текст в переменную . Ошибок нету никаких.
Надеюсь объяснил коротко и ясно.
import os

goal = str(input('Веди цель  >> '))
goal_1 = str(input('Веди цель  >> '))	
goal_2 = str(input('Веди цель  >> '))
goal_3 = str(input('Веди цель  >> '))

if goal_3 =='all':
	for i in range(3):
		text = ' *respect'
		a = ( f'1. {goal}' ) 
		b = (  f'2. {goal_1}' )
		c = ( f'3. {goal_2}' )
		print(a)
		print(b)
		print(c)
		what = str(input('И так какую цель ты виполнил 1, 2, 3 ? >> '))

		if what == '1':
			os.system('cls||clear')# clean cmd
			a += text

		elif what == '2':
			os.system('cls||clear')# clean cmd
			b += text

		elif what == '3':
			os.system('cls||clear')# clean cmd
			c += text

		else:
			print( 'Так что-то пошло не так.' )
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
@Prometheuss
Моё почтение! )
Не могли бы Вы уточнить вопрос - чего именно вы ждете от данного цикла.
Насколько я понимаю
На каждой из 3-х итераций цикла в начале все переменные означиваются соответствующим образом (a = ..., b = ... и т д)
Затем в зависимости от значения переменной what выполняется модификация одной переменной приписыванием строки, хранящейся в переменной text
Если вы поставите в блоке for в конце представленного кода print(a + " " + b+ " " + c), то увидите, что необходимая переменная модифицируется должным образом (в конце одной из строк появляется *respect). Затем итерация завершается и В ТЕ ЖЕ переменные (a,b,c) снова кладутся ТЕ ЖЕ значения, что и в начале прошлого цикла (и они же и выводятся, скорее всего, поэтому вы не видите, что переменные модифицируются)
Если проблема не в этом, то уточните, пожалуйста, вопрос.
Андрей Годунко,
Вам нужно примерно следующее:

import os

goal = str(input('Веди цель  >> '))
goal_1 = str(input('Веди цель  >> '))
goal_2 = str(input('Веди цель  >> '))
goal_3 = str(input('Веди цель  >> '))

if goal_3 =='all':
  text = ' *respect'
  a = ( f'1. {goal}' )
  b = (  f'2. {goal_1}' )
  c = ( f'3. {goal_2}' )
  for i in range(3):
    print(a)
    print(b)
    print(c)
    what = str(input('И так какую цель ты выполнил 1, 2, 3 ? >> '))

    if what == '1':
      os.system('cls||clear')# clean cmd
      a += text

    elif what == '2':
      os.system('cls||clear')# clean cmd
      b += text

    elif what == '3':
      os.system('cls||clear')# clean cmd
      c += text

    else:
      print( 'Так что-то пошло не так.' )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
03 мая 2024, в 18:59
2500 руб./за проект
03 мая 2024, в 18:52
15000 руб./за проект