I have done a small currency calculator. It works and I'm very glad.
But...I'd like to have a line shift if user types a wrong choice.
Please, look at the code and output example down here:
# -*- coding: ISO-8859-1 -*-
import string
eudk_currency= 7.47
dkeu_currency= 0.13
usdk_currency= 5.93
dkus_currency= 0.16
euus_currency= 1.19
useu_currency= 0.78
currency_choice= raw_input("Please type DK if you want convert to DKK,
EU if you want to convert to : ")
currency_str= str(currency_choice).upper()
while currency_str != "EUDK" and currency_str != "DKEU" and
currency_str != "USDK" and currency_str != "DKUS"\
and currency_str != "EUUS" and currency_str!= "USEU":
currency_choice= raw_input("Sorry. At the moment we only support
DKK, Euro and Dollars." + "\n" \
"Type DKEU if you want convert from DKK to ," + "\n" \
"EUDK if you want to convert from DKK to ," + "\n" \
"DKUS if you want to convert from DKK to $," + "\n" \
"USDK if you want to convert from $ to DKK," + "\n"
"EUUS if you want to convert from to $," + "\n"\
"and USEU if you want to convert from $ to : ")
currency_str= str(currency_choice).upper()
amount_int= input("Please type the amount you wish to convert: ")
if currency_str == "DKEU":
result= amount_int* dkeu_currency
print amount_int, "Danish Crowns correspond to", result, "Euro."
if currency_str == "EUDK":
result= amount_int* eudk_currency
print amount_int, "Euro correspond to", result, "Danish Crowns."
if currency_str == "USDK":
result= amount_int* usdk_currency
print amount_int, "Dollars correspond to", result, "Danish Crowns."
if currency_str == "DKUS":
result= amount_int* dkus_currency
print amount_int, "Danish Crowns correspond to", result, "Dollars."
if currency_str == "EUUS":
result= amount_int* euus_currency
print amount_int, "Euro correspond to", result, "Dollars."
if currency_str == "USEU":
result= amount_int* useu_currency
print amount_int, "Dollars correspond to", result, "Euro."
#CODE END
OUTPUT:
Please type DK if you want convert to DKK, EU if you want to convert
to : sdsd
Sorry. At the moment we only support DKK, Euro and Dollars.
Type DKEU if you want convert from DKK to ,
EUDK if you want to convert from DKK to ,
DKUS if you want to convert from DKK to $,
USDK if you want to convert from $ to DKK,
EUUS if you want to convert from to $,
and USEU if you want to convert from $ to : usdk
Please type the amount you wish to convert: 99
99 Dollars correspond to 587.07 Danish Crowns.
How do I get a line shift before (and/or) after the "Sorry....At the
moment"), so the output is something like:
Please type DK if you want convert to DKK, EU if you want to convert
to : sdsd
Sorry. At the moment we only support DKK, Euro and Dollars.
Type DKEU if you want convert from DKK to ,
EUDK if you want to convert from DKK to ,
DKUS if you want to convert from DKK to $,
USDK if you want to convert from $ to DKK,
EUUS if you want to convert from to $,
and USEU if you want to convert from $ to : usdk
Please type the amount you wish to convert: 99
99 Dollars correspond to 587.07 Danish Crowns.
OR
Please type DK if you want convert to DKK, EU if you want to convert
to : sdsd
Sorry. At the moment we only support DKK, Euro and Dollars.
Type DKEU if you want convert from DKK to ,
EUDK if you want to convert from DKK to ,
DKUS if you want to convert from DKK to $,
USDK if you want to convert from $ to DKK,
EUUS if you want to convert from to $,
and USEU if you want to convert from $ to : usdk
Please type the amount you wish to convert: 99
99 Dollars correspond to 587.07 Danish Crowns.
???
Thank you for your patience! :-) 6 1943
On 23 Aug 2004 05:12:30 -0700, Artemisio <ca*******@hotmail.com> wrote: I have done a small currency calculator. It works and I'm very glad. But...I'd like to have a line shift if user types a wrong choice.
A simple "print" with no arguments should display the blank line you want:
while currency_str != "EUDK" and currency_str != "DKEU" and
currency_str != "USDK" and currency_str != "DKUS"\
and currency_str != "EUUS" and currency_str!= "USEU":
print
currency_choice= raw_input("Sorry. At the moment we only support
DKK, Euro and Dollars." + "\n" \
"Type DKEU if you want convert from DKK to ," + "\n" \
"EUDK if you want to convert from DKK to ," + "\n" \
"DKUS if you want to convert from DKK to $," + "\n" \
"USDK if you want to convert from $ to DKK," + "\n"
"EUUS if you want to convert from to $," + "\n"\
"and USEU if you want to convert from $ to : ")
currency_str= str(currency_choice).upper()
Or you can add an extra "\n" at the beginning of your "Sorry" string.
Artemisio wrote: I have done a small currency calculator. It works and I'm very glad. But...I'd like to have a line shift if user types a wrong choice. Please, look at the code and output example down here:
# -*- coding: ISO-8859-1 -*- import string
eudk_currency= 7.47 dkeu_currency= 0.13 usdk_currency= 5.93 dkus_currency= 0.16 euus_currency= 1.19 useu_currency= 0.78
As a hint not pertaining to your actual problem: Use a dictionary to
store the values, like this:
currencies = { "EUDK" : 7.47, "DKEU" : 0.13, (...) }
Then you do not have to do if statements like this
if currency_str == "DKEU":
result= amount_int* dkeu_currency
print amount_int, "Danish Crowns correspond to", result, "Euro."
(...)
You can directly use the input string as index into the dictionary:
result = amount_int * currencies[currency_str]
print (...)
Reinhold
--
Wenn eine Linuxdistribution so wenig brauchbare Software wie Windows
mitbrδchte, wδre das bedauerlich. Was bei Windows der Umfang eines
"kompletten Betriebssystems" ist, nennt man bei Linux eine Rescuedisk.
-- David Kastrup in de.comp.os.unix.linux.misc
> As a hint not pertaining to your actual problem: Use a dictionary to store the values, like this:
currencies = { "EUDK" : 7.47, "DKEU" : 0.13, (...) }
Then you do not have to do if statements like this
if currency_str == "DKEU": result= amount_int* dkeu_currency print amount_int, "Danish Crowns correspond to", result, "Euro."
(...)
You can directly use the input string as index into the dictionary:
result = amount_int * currencies[currency_str] print (...)
I was bored waiting on a compile so I hacked this up. It adds the \n and the
Please enter conversion type line and uses the previous poster's comment on
the using a dictionary.
I added the conversion output text by makeing the value a list that is the
conversion and the text to display for the answer (I made them shorter
because I was lazy to type all the information). I also made the conversion
from US to EU more in line with the EUUS because I used those for testing
and the results were not coming out the same (course I am sure there is some
slack in there somewhere for the bank taking its share of the proceeds :) )
Not sure if there is a slicker way to do the conversion/message - I am
relatively new to Python as well, so my code still ends up looking like C++
lots of the time.
import string
currency = {"EUDK":(7.47,"? to DKK"),
"DKEU":(0.13,"DKK to ?"),
"USDK":(5.93, "$ to DKK"),
"DKUS":(0.16, "DKK to $"),
"EUUS":(1.19, "? to $"),
"USEU":(0.84, "$ to ?")}
while(1):
currency_choice= raw_input("\nPlease enter conversion type or 'Exit':
")
currency_str= str(currency_choice).upper()
if currency_str == "EXIT":
break
if currency.has_key(currency_str):
amount_int= input("Please type the amount you wish to convert: ")
result = amount_int * currency[currency_str][0]
print currency[currency_str][1], " ", amount_int, " = ", result
else:
print("Sorry. At the moment we only support DKK, Euro and Dollars."
+ "\n" \
"Type DKEU if you want convert from DKK to ?," + "\n" \
"EUDK if you want to convert from DKK to ?," + "\n" \
"DKUS if you want to convert from DKK to $," + "\n" \
"USDK if you want to convert from $ to DKK," + "\n"
"EUUS if you want to convert from ? to $," + "\n"\
"and USEU if you want to convert from $ to ?")
Reinhold Birkenfeld <re************************@wolke7.net> wrote in message news:<2o************@uni-berlin.de>... Artemisio wrote: I have done a small currency calculator. It works and I'm very glad. But...I'd like to have a line shift if user types a wrong choice. Please, look at the code and output example down here:
# -*- coding: ISO-8859-1 -*- import string
eudk_currency= 7.47 dkeu_currency= 0.13 usdk_currency= 5.93 dkus_currency= 0.16 euus_currency= 1.19 useu_currency= 0.78
As a hint not pertaining to your actual problem: Use a dictionary to store the values, like this:
currencies = { "EUDK" : 7.47, "DKEU" : 0.13, (...) }
Then you do not have to do if statements like this
if currency_str == "DKEU": result= amount_int* dkeu_currency print amount_int, "Danish Crowns correspond to", result, "Euro."
(...)
You can directly use the input string as index into the dictionary:
result = amount_int * currencies[currency_str] print (...)
Reinhold
Great! Thank you pals! I'll have a closer look to your suggestion
Reinhold, it seems a slick way to do the same thing
> I was bored waiting on a compile so I hacked this up. It adds the \n and the Please enter conversion type line and uses the previous poster's comment on the using a dictionary. I added the conversion output text by makeing the value a list that is the conversion and the text to display for the answer (I made them shorter because I was lazy to type all the information). I also made the conversion from US to EU more in line with the EUUS because I used those for testing and the results were not coming out the same (course I am sure there is some slack in there somewhere for the bank taking its share of the proceeds :) ) Not sure if there is a slicker way to do the conversion/message - I am relatively new to Python as well, so my code still ends up looking like C++ lots of the time.
import string
currency = {"EUDK":(7.47,"? to DKK"), "DKEU":(0.13,"DKK to ?"), "USDK":(5.93, "$ to DKK"), "DKUS":(0.16, "DKK to $"), "EUUS":(1.19, "? to $"), "USEU":(0.84, "$ to ?")}
while(1): currency_choice= raw_input("\nPlease enter conversion type or 'Exit': ") currency_str= str(currency_choice).upper()
if currency_str == "EXIT": break if currency.has_key(currency_str): amount_int= input("Please type the amount you wish to convert: ") result = amount_int * currency[currency_str][0] print currency[currency_str][1], " ", amount_int, " = ", result else: print("Sorry. At the moment we only support DKK, Euro and Dollars." + "\n" \ "Type DKEU if you want convert from DKK to ?," + "\n" \ "EUDK if you want to convert from DKK to ?," + "\n" \ "DKUS if you want to convert from DKK to $," + "\n" \ "USDK if you want to convert from $ to DKK," + "\n" "EUUS if you want to convert from ? to $," + "\n"\ "and USEU if you want to convert from $ to ?")
Thank you Jeff, that's classy! Also the exit function! Your hack will
keep me busy for at least one hour and a half (hence the mentioned
baby steps)
Allow me a remark though:
was the following output intended?
"Please enter conversion type or 'Exit': euus
Please type the amount you wish to convert: 99
? to $ 99 = 117.81"
I mean the last line. Or am I missing something?
Thanx!
>> import string currency = {"EUDK":(7.47,"? to DKK"), "DKEU":(0.13,"DKK to ?"), "USDK":(5.93, "$ to DKK"), "DKUS":(0.16, "DKK to $"), "EUUS":(1.19, "? to $"), "USEU":(0.84, "$ to ?")}
while(1): currency_choice= raw_input("\nPlease enter conversion type or 'Exit': ") currency_str= str(currency_choice).upper()
if currency_str == "EXIT": break if currency.has_key(currency_str): amount_int= input("Please type the amount you wish to convert: ") result = amount_int * currency[currency_str][0] print currency[currency_str][1], " ", amount_int, " = ", result else: print("Sorry. At the moment we only support DKK, Euro and Dollars." + "\n" \ "Type DKEU if you want convert from DKK to ?," + "\n" \ "EUDK if you want to convert from DKK to ?," + "\n" \ "DKUS if you want to convert from DKK to $," + "\n" \ "USDK if you want to convert from $ to DKK," + "\n" "EUUS if you want to convert from ? to $," + "\n"\ "and USEU if you want to convert from $ to ?")
was the following output intended?
"Please enter conversion type or 'Exit': euus Please type the amount you wish to convert: 99 ? to $ 99 = 117.81"
I mean the last line. Or am I missing something? Thanx!
Yes the last line was meant to show the conversion type, just a simple
remider for myself what I converted (in this case EU - designated ? - to US
dollars - designated $) This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: C. Alexander |
last post by:
I'm making a 'whiteboard' application.
I'm trying to have 2+ connected users able to draw at the same time.
However, if User1 draws a line, when User2 is drawing, on User1 screen,
it will draw...
|
by: Dennis |
last post by:
I started a new thread because i cant reply on the older one.
Thank you very much Rick for the usefull reply. But i'v got another
question. When drawing the line, you cant see the line untill you...
|
by: Carlos Andr?s |
last post by:
Hi everybody.
I've got a problem. I'd like to avoid opening a new window when you
have pressed the shift key and you click in the left button of the
mouse. I've tried the next solution, in the...
|
by: Peter A. Schott |
last post by:
Per subject - I realize I can copy/paste a line at a time into an interactive
session when I'm trying to debug, but was wondering if there is any tool out
there that allows me to copy sections of...
|
by: Joshua Ammann |
last post by:
I've searched for this and haven't found the answer yet, so here
goes. I'm using multiple versions of Access, all 2000 or later. Is
there a command line switch that will produce the same result as...
| |
by: Ken Varn |
last post by:
I am seeing a discrepancy on how bit shifts work in C# vs. C++. In C++, if
you do a bit shift and it overflows, the bits are lost.
i.e. in C++, -1 << 32 would produce 0. However, in C#, this...
|
by: U S Contractors Offering Service A Non-profit |
last post by:
Baby steps to the "New" New Orleans Inbox
Reply
Craig Somerford
to Chasing, Donald, me, (bcc:Discovery), (bcc:Beijing)
show details
3:55 pm (0 minutes ago)
Our Beloved New Orleans needs you...
|
by: Joy M |
last post by:
Hello,
I am modifying an .asp file and I noticed that the top line on the screen is
blank. I would like to remove this line, and push everything up to the top
of the screen, but I don't know...
|
by: APEJMAN |
last post by:
Hi
First of all I should say, I dont want to bother any one with my question or long program
please if you have time, help me.( I dont mean that I want any one to do my program, just please if you...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
| |
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...
| |