вторник, 10 марта 2015 г.

Решение задач на Python. Часть 2. / Solving problems in Python. Part 2

Всем привет, сегодня я расскажу о небольшой программе написанной мной на выходных, она представляет собой задачу найденную мной в интернете. Я придерживался задания и выполнил как было нужно, но после я пошел дальше и усовершенствовал код.
/
Hello everyone, today I will talk about a small program written by me on the weekends, it is a problem found in the Internet. I stuck to the task and performed as needed, but after I went ahead and improved code.

Изначальный вариант:

Пользователь вводит цены 1 килограмм конфет и 1 килограмм печенья. Найдите стоимость: а) одной покупки из 300 грамм конфет и 400 грамм печенья; б) трех покупок, каждая из 2 килограмм печенья и 1 килограмм 800 грамм конфет.
/
The original version:

The user enters the price of 1 kilogram of sweets and biscuits 1 kilogram. Find the value of: a) a purchase of 300 grams and 400 grams of sweets biscuits; b) Number three, each 2 pounds of biscuits and 1 kilo 800 grams of sweets.

a=float (input("цена 1 кг конфет: "))
b=float (input("цена 1 кг печенья: "))

print ("Стоимость 300 граммов конфет:",(a/1000)*300, "рубля")
print ("Стоимость 400 граммов печенья:",(a/1000)*400, "рубля")
print ("Стоимость трех покупок, каждая из 2 кг печенья и 1 кг 800 г конфет:",((b*2)+a+((a/1000)*800))*3, "рублей " )

Здесь мы используем тип данных float () - для использования чисел с плавающей точкой, за счет этого мы можем рассчитать цену продукта более точно.
Формулу расчета мы встраиваем прямо в вывод, для более короткой записи.
/
Here we use the data type float () - to use floating-point numbers, due to this we can calculate the price of the product more accurately.
Calculation formula we embed directly in the output for a shorter recording.

Измененный  вариант:
Amended version:


a=float (input("цена 1 кг конфет: "))
c=float (input("Сколько взвесить граммов конфет ?"))
b=float (input("цена 1 кг печенья: "))
d=float (input("Сколько взвесить граммов печенья ?"))

x=(a/1000)*c
y=(b/1000)*d
z=x+y

print ("Стоимость",c,"граммов печенья:",x,"рублей")
print ("Стоимость",d,"граммов печенья:",y,"рублей")
print ("Общая стоимость покупки:",z,"рублей")


В моем варианте той же задачи, я использую четыре переменных , две переменных (a,b) для ввода цены за один килограмм и две переменных (c,d) для ввода количества взвешиваемого товара.
В этой программе расчет делается не в поле вывода, а в отдельных переменных.
Вес покупки вводится в тысячах.
Программа будет обновлять и доделываться - планирую внедрить цикл if-else для защиты от ошибок ввода.
/
In my version of the same problem, I use four variables, the two variables (a, b) to enter the price per kilogram and two variables (c, d) to enter the number of the weighing product.
In this program, the calculation is not in the output, and in some variables.
Weight is expressed in thousands of purchase.
The program will update and finish - is planning to introduce a cycle if-else to protect against typing errors.