Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Защо програмата не се чете

Защо програмата не се чете

Мнениеот Какаши Сенсей » 29 Окт 2021, 15:04

Защо, когато въведа данните, програмата не извъшва това, което трябва - както е показано в кода

bj = float(input(""))
if (bj<700):
print("Парите недостигат")
kat = str(input(""))
brh = int(input(""))

if (brh>=1 or brh<=4):
tr1 = int(0.75*bj)
osp = int(bj - tr1)
if (kat == "VIP"):
bil = int((brh*osp)//499.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
elif (kat == "Normal"):
bil = int((brh*osp)//299.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
elif (brh>=5 or brh<=9):
tr1 = int(0.60*bj)
osp = int(bj - tr1)
if (kat == "VIP"):
bil = int((brh*osp)//499.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
elif (kat == "Normal"):
bil = int((brh*osp)//299.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
elif (brh>=10 or brh<=24):
tr1 = int(0.50*bj)
osp = int(bj - tr1)
if (kat == "VIP"):
bil = int((brh*osp)//499.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
elif (kat == "Normal"):
bil = int((brh*osp)//299.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
elif (brh>=25 or brh<=49):
tr1 = int(0.40*bj)
osp = int(bj - tr1)
if (kat == "VIP"):
bil = int((brh*osp)//499.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
elif (kat == "Normal"):
bil = int((brh*osp)//299.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
elif (brh>=50):
tr1 = int(0.25*bj)
osp = int(bj - tr1)
if (kat == "VIP"):
bil = int((brh*osp)//499.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
elif (kat == "Normal"):
bil = int((brh*osp)//299.99)
if (osp==0):
print("Нямаш достатъчно пари")
elif (osp>=499.99):
print("Имаш достатъчно пари")
Най-важно е душата да бъде извисена .
Какаши Сенсей
Фен на форума
 
Мнения: 119
Регистриран на: 05 Май 2021, 10:26
Рейтинг: 28

Re: Защо програмата не се чете

Мнениеот Какаши Сенсей » 30 Окт 2021, 08:00

Абсолютно същия проблем имам тук
Прикачени файлове
Екранна снимка 2021-10-30 085926.png
Екранна снимка 2021-10-30 085926.png (106.44 KiB) Прегледано 532 пъти
Най-важно е душата да бъде извисена .
Какаши Сенсей
Фен на форума
 
Мнения: 119
Регистриран на: 05 Май 2021, 10:26
Рейтинг: 28

Re: Защо програмата не се чете

Мнениеот Какаши Сенсей » 30 Окт 2021, 08:02

Защо прграмата игнорира всички if -ве, elif - ве. И накарая ми отпечатва само print ?
Най-важно е душата да бъде извисена .
Какаши Сенсей
Фен на форума
 
Мнения: 119
Регистриран на: 05 Май 2021, 10:26
Рейтинг: 28

Re: Защо програмата не се чете

Мнениеот ammornil » 30 Окт 2021, 11:05

Втората програма

>>> Кодът на първия if оператор е неправилно табулиран. Пайтон е чувствителен на табулция, защото тя изпълнява ролята на блок-разделител.

>>> Няма код за брой нощувки между 8 и 13. Ако въведеш такова число няма да изпише нищо.

Това е на пръв поглед. Може да има и други проблеми, които да изискват дебъгване. Ако прикачиш файл с кода, може да го тествам и аз, но не ми се набира на ръка от снимка.

--п.с. Не е свързано с нормалната работа на кода, но прави впечатление (не се заяждам, аз съм дребнав по натура):
>>> Клиентът може да е мъж или жена, затова е добра практика съобщението за грешка да е в учтива форма (неутрален пол): 'Въвели сте грешен месец'
>>> mouth означава "уста", month е думата за "месец".
[tex][/tex]
Прикачени файлове
Screenshot 2021-10-30 095956.png
Screenshot 2021-10-30 095956.png (11.85 KiB) Прегледано 522 пъти
[tex]\color{lightseagreen}\text{''Който никога не е правил грешка, никога не е опитвал нещо ново.''} \\
\hspace{21em}\text{(Алберт Айнщайн)}[/tex]
Аватар
ammornil
Математик
 
Мнения: 3759
Регистриран на: 25 Май 2010, 19:28
Местоположение: Великобритания
Рейтинг: 1774

Re: Защо програмата не се чете

Мнениеот Какаши Сенсей » 30 Окт 2021, 12:26

ammornil написа:Втората програма

>>> Кодът на първия if оператор е неправилно табулиран. Пайтон е чувствителен на табулция, защото тя изпълнява ролята на блок-разделител.

>>> Няма код за брой нощувки между 8 и 13. Ако въведеш такова число няма да изпише нищо.

Това е на пръв поглед. Може да има и други проблеми, които да изискват дебъгване. Ако прикачиш файл с кода, може да го тествам и аз, но не ми се набира на ръка от снимка.

--п.с. Не е свързано с нормалната работа на кода, но прави впечатление (не се заяждам, аз съм дребнав по натура):
>>> Клиентът може да е мъж или жена, затова е добра практика съобщението за грешка да е в учтива форма (неутрален пол): 'Въвели сте грешен месец'
>>> mouth означава "уста", month е думата за "месец".
[tex][/tex]

Благодаря Ви много за помощта, която ми оказахте:
Ето това е кодът:

mouth = str(input(''))
nights = int(input(''))
if ((mouth=='May') or (mouth=='Oktober')):
if(nights<7):
studio = int(nights*50)
apartament = int(nights*65)
sum_studio_apartament = int( studio + apartament )
print('Цената за вашата почивка е ' + str(sum_studio_apartament))
elif (nights>=14):
studio1pr = float((nights*50)*0.05)
studio1 = float((nights*50) - studio1pr)
apartament1pr = float((nights*65)*0.1)
apartament1 = float((nights*65) - apartament1pr)
sum_studio_apartamen1 = float(studio1 + apartament1)
print('Цената за вашата почивка е ' + str(sum_studio_apartamen1))
elif((mouth=='June') or (mouth=='Senteber')):
if(nights<7):
studio2 = float(nights*75.2)
apartament2 = float(nights*68.7)
sum_studio_apartamen2 = float(studio2 + apartament2)
print('Цената за вашата почивка е ' + str(sum_studio_apartamen2))
elif(nights>=14):
studio3pr = float((nights*75.20)*0.2)
studio3 = float((nights*75.2) - studio3pr)
apartament3pr = float((nights*68.7)*0.1)
apartament3 = float((nights*68.7) - apartament3pr)
sum_studio_apartamen3 = float(studio3 + apartament3)
print('Цената за вашата почивка е ' + str(sum_studio_apartamen3))
elif((mouth=='juale') or (mouth == 'August')):
if(nights<7):
studio4 = int(nights*76)
apartament4 = int(nights*77)
sum_studio_apartament4 = int(studio4 + apartament4)
print('Цената за вашата почивка е ' + str(sum_studio_apartament4))
elif(nights>14):
studio4 = int(nights*76)
apartamentpr5 = float((nights*76)*0.1)
apartament5 = float((nights*76) - apartamentpr5)
sum_studio_apartament5 = float(apartament5 + studio4 )
print('Цената за вашата почивка е ' + str(sum_studio_apartament5))
else:
print('Въвел си грешен месец')
Най-важно е душата да бъде извисена .
Какаши Сенсей
Фен на форума
 
Мнения: 119
Регистриран на: 05 Май 2021, 10:26
Рейтинг: 28

Re: Защо програмата не се чете

Мнениеот ammornil » 30 Окт 2021, 13:17

Сега изглежда работи, поне доколкото мога да предположа какво се иска от кода да прави.
Не мога да схвана логиката на ценообразуване, но съм я оставил както беше зададена.

п.с. Прегледай за правописни грешки.
[tex][/tex]
Прикачени файлове
someCode.zip
(827 Байта) 57 пъти
Screenshot 2021-10-30 121409.png
Screenshot 2021-10-30 121409.png (88.45 KiB) Прегледано 514 пъти
[tex]\color{lightseagreen}\text{''Който никога не е правил грешка, никога не е опитвал нещо ново.''} \\
\hspace{21em}\text{(Алберт Айнщайн)}[/tex]
Аватар
ammornil
Математик
 
Мнения: 3759
Регистриран на: 25 Май 2010, 19:28
Местоположение: Великобритания
Рейтинг: 1774

Re: Защо програмата не се чете

Мнениеот Гост » 30 Окт 2021, 13:53

друга правописна грешка на пръв поглед е apartament - apartment
Гост
 

Re: Защо програмата не се чете

Мнениеот ammornil » 30 Окт 2021, 16:18

Гост написа:друга правописна грешка на пръв поглед е apartament - apartment

Това не е правописна грешка, а избор на идентификатор на променлива. Аз оставих и mouth, защото колегата така го е избрал.
Забелязах, че има правописна грешка в съобщението за оферти на рецепция. Написал съм "посоченат дължина", изял съм едно "а" в края на прилагателното.
[tex]\color{lightseagreen}\text{''Който никога не е правил грешка, никога не е опитвал нещо ново.''} \\
\hspace{21em}\text{(Алберт Айнщайн)}[/tex]
Аватар
ammornil
Математик
 
Мнения: 3759
Регистриран на: 25 Май 2010, 19:28
Местоположение: Великобритания
Рейтинг: 1774


Назад към PHP, Python и други езици за програмиране



Кой е на линия

Регистрирани потребители: Google [Bot]

Форум за математика(архив)
cron