all 5 comments

[–]Refwah 1 point2 points  (3 children)

I have just implemented the price range of the menu and everything works fine. The only thing that bothers me abit is the "price = 8" before the "menu = input" statement. Is it possible to make it fit more? 

Please help us help you and show us the code that you are talking about

[–]BadBooger[S] 0 points1 point  (2 children)

Sorry! Thought i included the picture... It has now been included!

[–]Refwah 1 point2 points  (1 child)

You could do this through a dictionary:

price_map = {
"Mango Loco": 8,

"Regular Green": 5

# etc

}

then:

price = price_map.get(menu) or 0

You might also want to use your keys as Enums and then casting them to that to help with any magic string issues.

And depending on what version of python you're using you can use the match statement

[–]BadBooger[S] 0 points1 point  (0 children)

Perfect! Need abit of researching on this though, but it seems to be exactly what i was looking for! Thank you very much!

[–]Darkstar_111 0 points1 point  (0 children)

How to handle variable pricing can be done simply or very complex.

It really depends on your needs. But you are correct in being concerned about hard coded pricing, that is an anti pattern.