Need help to sort out the below code...
Terry Reedy
tjreedy at udel.edu
Sat Sep 14 03:50:04 EDT 2013
On 9/14/2013 2:34 AM, mnishpsyched wrote:
> Hello guys,
> i am new to programming and trying to solve this small coding: my purpose is to take in values from the user based on a menu provided for selection
>
> the output looks like this...
>
> please select from the following menu:
> 1. pizza
> 2. steak
> 3. pasta
> 4. burger
> type in any number from above for selection..
>
> you have selected: 1. Pizza
> The bill amounted for Pizza is $20 along with tax of $0.15 will make upto $20.15
>
> the code i have written for this is as follows:
>
> print """
> Please select from the following menu:
> 1. pizza
> 2. steak
> 3. pasta
> 4. burger
> type in any number from above for selection..
> """
>
> pz = raw_input()
> pz = int(pz)
>
> st = raw_input()
> st = int(st)
>
> ps = raw_input()
> ps = int(ps)
>
> bg = raw_input()
> bg = int(bg)
>
There should only be one input statement:
choice = int(raw_input())
The program now requires 4 inputs, which is not what you want.
Since you are starting, consider using 3.3 insteadd of Python 2 unless
you have a very good reason.
> if pz == 1 :
if choice == 1:
etc.
> print "You have selected", pz, ".pizza"
> pr_pz = 20
> tx_pz = 0.15
> tot = pr_pz + tx_pz
> print "The bill amounted for Pizza is $", pr_pz, "along with tax of $", tx_pz, "willmake upto $", tot
Take out 'amounted'
> elif st == 2 :
> print "You have selected", st, ".Steak"
> pr_st = 40
> tx_st = 0.20
> print "The bill amounted for Steak is $", pr_st, "along with tax of $", tx_st, "will make upto $", tot.....................
> ...........................
> but my program doesn't output the selection once i type in any number from the list.
Because it is waiting for 3 more inputs. See above. Now, you can shorten
and improve the program after the one input statement.
data = (
('Pizza', 20.0, 0.15),
('Steak', 40.0, 0.20),
('Pasta', 14.0, 0.12),
('Burger', 23.0, 0.17),
)
if 1 <= choice <= len(data):
product, price, tax = data[choice]
bill = "The bill for {} is {}, along with tax of {}, total {}"
print(bill.format(product, price, tax, price + tax))
else:
print('I do not know what you mean.')
print() is for 3.x, but works here for 2.x also.
--
Terry Jan Reedy
More information about the Python-list
mailing list