Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 10, 2021 15:03:36

VasiL
Зарегистрирован: 2020-12-28
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

Десять небольших программ, которые работают у других, у меня в Windows 8.1 не работают по единственной причине: не распознается Elif !!! Может реестр надо настраивать или еще что? Или вообще просто чем-то заменить эту функцию??

Офлайн

#2 Янв. 10, 2021 17:04:26

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

Хороший вариант отнять комп у других и на нем все делать.
Конструкции Elif В питоне нет. Есть управляющая конструкция if

 if some:
   print(1)
elif other:
   print(2)
else:
   print(3)
Если вы всеже решите у себя запускать программу
VasiL
8.1 не работают по единственной причине: не распознается Elif !!!
то надо подробнее описать почему вы решили что она не распознается. (прислать сообщения об ошибках).
Не вредно описать порядок действий который приводит к возникновению ситуации которая вам кажется не нормальной.

Маловероятно что надо что=то делать с системой, скорее всего что-то надо сделать с вашими руками.



Офлайн

#3 Янв. 11, 2021 13:18:51

VasiL
Зарегистрирован: 2020-12-28
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

doza_and
Хороший вариант отнять комп у других и на нем все делать.Конструкции Elif В питоне нет. Есть управляющая конструкция if

Вот пример задачи:
 valuta = "денег"
summa = 0
count = 0
buy = 0
summa = int (input("Введите предельную сумму для затрат:"))
while (summa > 0 and buy!=-1):
    print("Остаток:", summa, valuta)
    buy = int (input("Введите стоимость покупки:"))
    if (buy > summa):
        print ("_" * 40)
        print("Сумма товара н еможет быть больше суммы покупки")
        print ("_" * 40)
        elif (buy > 0):
        summa -=buy
        count +=1
        if (summa < 200 and summa > 0):
            print ("Внимание!!! Осталось", summa, valuta + "!", "Осторожнее с расходами!")
            print ("*" * 20)
            print ("Вы потратили:", startSumma, summa, valuta)
            print("При этом вы совершили, count, "покупок")
                  

Далее жму RUN и :

File “<ipython-input-1-09546eac49f1>”, line 13
elif (buy > 0):
^
SyntaxError: invalid syntax



Офлайн

#4 Янв. 11, 2021 14:58:40

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1359
Репутация: +  119  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

elif должен быть на одном уровне после if,(или по другому else:if)

if a:
код
elif b:
код
else:
код

Отредактировано xam1816 (Янв. 11, 2021 15:03:08)

Офлайн

#5 Янв. 11, 2021 17:37:32

VasiL
Зарегистрирован: 2020-12-28
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

xam1816
elif должен быть на одном уровне после if,(или по другому else:if)
Хорошо, сейчас поколдую!

Офлайн

#6 Янв. 11, 2021 18:47:37

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

VasiLнадо не колдовать а книжки читать. там все разжевано.

Офлайн

#7 Янв. 11, 2021 20:56:51

VasiL
Зарегистрирован: 2020-12-28
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

xam1816
elif должен быть на одном уровне после if,(или по другому else:if)
 valuta = "денег"
summa = 0
count = 0
buy = 0
summa = int (input("Введите предельную сумму для затрат:"))
while (summa > 0 and buy!=-1):
    print("Остаток:", summa, valuta)
    buy = int (input("Введите стоимость покупки:"))
    if (buy > summa)and
        elif (buy > 0):
        print ("_" * 40)
        print("Сумма товара н еможет быть больше суммы покупки")
        print ("_" * 40)
        else (buy > 0):
        summa -=buy
        count +=1
        if (summa < 200 and summa > 0):
            print ("Внимание!!! Осталось", summa, valuta + "!", "Осторожнее с расходами!")
            print ("*" * 20)
            print ("Вы потратили:", startSumma, summa, valuta)
            print("При этом вы совершили, count, "покупок")


ЖМУ RUN и :

File “<ipython-input-5-4de486e12754>”, line 9
if (buy > summa)
^
SyntaxError: invalid syntax

По вашей схеме вроде…

Офлайн

#8 Янв. 11, 2021 23:59:56

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

VasiL
По вашей схеме вроде…
нет не по схеме.

Действуйте по другому. Отнесите этот код на ту машину где он работал и убедитесь что он не работатет ни на каком питоне. Сравните с тем вариантом который работает.



Офлайн

#9 Янв. 12, 2021 12:19:13

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1359
Репутация: +  119  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

VasiL
Хорошо, сейчас поколдую!
Вы бы замучались колдовать,найдите отличия от своего кода(ваш код ни на какой бы машине не работал)
 valuta = "денег"
spent = 0
amount_of_money= int (input("Введите предельную сумму для затрат:"))
remains = amount_of_money
count = 0
while remains > 0:
	buy = int (input("Введите стоимость покупки:"))
	if buy == 0:
		continue
	if (buy > remains):
		print ("_" * 40)
		print("Сумма товара н еможет быть больше суммы покупки")
		print ("_" * 40)
	elif (buy > 0):
		remains-=buy
		print("Остаток:", remains, valuta)
		spent+=buy
		count+=1
	if (remains < 200 and remains > 0):
		print ("Внимание!!! Осталось", remains, valuta + "!", "Осторожнее с расходами!")
print ("*" * 20)
print ("Вы потратили:", spent,'из',amount_of_money, valuta)
print("При этом вы совершили", count, "покупок")
 Введите предельную сумму для затрат:500
Введите стоимость покупки:300
Остаток: 200 денег
Введите стоимость покупки:50
Остаток: 150 денег
Внимание!!! Осталось 150 денег! Осторожнее с расходами!
Введите стоимость покупки:170
________________________________________
Сумма товара н еможет быть больше суммы покупки
________________________________________
Внимание!!! Осталось 150 денег! Осторожнее с расходами!
Введите стоимость покупки:150
Остаток: 0 денег
********************
Вы потратили: 500 из 500 денег
При этом вы совершили 3 покупок
Process finished with exit code 0

Отредактировано xam1816 (Янв. 12, 2021 12:23:01)

Офлайн

#10 Янв. 12, 2021 12:52:52

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Чем можно заменить "Elif" ??

VasiL
прочитайте это у вас проблема с блоками кода там же есть кое что про PEP8



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Янв. 12, 2021 12:54:51)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version