Найти - Пользователи
Полная версия: Помогите новичку с кодом
Начало » Python для новичков » Помогите новичку с кодом
1
xronos137
Вот такой вот код написал, а он не работает, пишет “Сan't assign to operator” и указывает на ошибку на 6ой строчке. Помогите пожалуйста разобраться!


 initial = int(input("print a random number"))
print('your number is', initial)
target = int(input("print a target number"))
if initial > target:
    while initial > target:
        initial - 1 = initial
        print('we will decrease your number intill it gets equal to', target, ', now it is', initial)
elif initial < target:
    while initial < target:
        initial = initial + 1
        print('we will increase your number intill it gets equal to', target, ', now it is', initial)
else:
    print(initial, 'is already equal to', target, ', we are out of bisness')
      
vic57
xronos137
initial - 1 = initial
 initial -= 1
xronos137
vic57
Спасибо большое! Помогло! А можете объяснить почему это так?
Papa_Svin
xronos137
А можете объяснить почему это так?
Потому что язык программирования - это формальный язык, он состоит из строгого набора правил синтаксиса и грамматики, а то что вы изобрели, этого нет среди правил питона.

Переменная, это указатель на ячейку памяти компьютера.
Когда вы пишите что-то такое
 my_var = 1 * 2 * 4
my_var = my_var  + 500
понятно, что в ячейку памяти, которую мы условно назвали my_var, нужно поместить значение, которое мы вычислили в правой части выражения.

Что по вашему, должно произойти в вашем случае? Что такое initial - 1?? Какая это ячейка памяти?

А

  initial -= 1
это просто более краткая запись для

 initial = initial - 1

Читайте учебник, там все это подробно расписано.
xronos137
Papa_Svin
Точно, блин, такая тупая ошибка Сейчас понял) Спасибо что помогли!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB