Найти - Пользователи
Полная версия: Чем можно заменить "Elif" ??
Начало » Python для новичков » Чем можно заменить "Elif" ??
1 2
VasiL
Десять небольших программ, которые работают у других, у меня в Windows 8.1 не работают по единственной причине: не распознается Elif !!! Может реестр надо настраивать или еще что? Или вообще просто чем-то заменить эту функцию??
doza_and
Хороший вариант отнять комп у других и на нем все делать.
Конструкции Elif В питоне нет. Есть управляющая конструкция if
 if some:
   print(1)
elif other:
   print(2)
else:
   print(3)
Если вы всеже решите у себя запускать программу
VasiL
8.1 не работают по единственной причине: не распознается Elif !!!
то надо подробнее описать почему вы решили что она не распознается. (прислать сообщения об ошибках).
Не вредно описать порядок действий который приводит к возникновению ситуации которая вам кажется не нормальной.

Маловероятно что надо что=то делать с системой, скорее всего что-то надо сделать с вашими руками.
VasiL
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



xam1816
elif должен быть на одном уровне после if,(или по другому else:if)
if a:
код
elif b:
код
else:
код
VasiL
xam1816
elif должен быть на одном уровне после if,(или по другому else:if)
Хорошо, сейчас поколдую!
marvellik
VasiLнадо не колдовать а книжки читать. там все разжевано.
VasiL
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

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

Действуйте по другому. Отнесите этот код на ту машину где он работал и убедитесь что он не работатет ни на каком питоне. Сравните с тем вариантом который работает.
xam1816
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
AD0DE412
VasiL
прочитайте это у вас проблема с блоками кода там же есть кое что про PEP8

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