我正在尝试制作一个非常简单的Python程序,该程序会将USD转换为几种不同的货币。我在处理IF / ELIF语句时遇到麻烦。每当我在解释器中运行代码(在本例中为Pycharm)时,解释器都会提示我输入要转换的值,然后输入要转换为的货币,然后完成而不打印我在其中设置的任何内容IF / ELIF语句。
代码:
import os
os.system('cls')
# This code starts the program and explains
# the purpose of the program to the user.
print()
print("Hello User")
print("This program will convert dollars to yen.")
print()
# This code prompts the user to enter a dollar amount.
USD = input("Amount of dollars: ")
# This code converts the user entered amount as a floating
# point integer for ease of calculation and error correcting.
var1 = float(USD)
print("YEN: 1")
print("EUR: 2")
print("RUB: 3")
print("Yuan: 4")
var2 = input("What Currency Do You Want To Convert To?: ")
def my_converter():
if var2 == 1:
var3 = var1 * float(114.62)
var4 = "Yen"
print(USD, "U.S. Dollars equals", var3, var4)
elif var2 == 2:
var3 = var1 * float(1.14)
var4 = "Euro"
print(USD, "U.S. Dollars equals", var3, var4)
elif var2 == 3:
var3 = var1 * float(0.015)
var4 = "Rubles"
print(USD, "U.S. Dollars equals", var3, var4)
elif var2 == 4:
var3 = var1 * float(0.15)
var4 = "Yuan"
print(USD, "U.S. Dollars equals", var3, var4)
我刚刚接触Python,所以我可能只是缺少一些明显的东西,但是任何帮助将不胜感激。抱歉,如果这是一个重复或愚蠢的问题。
答案 0 :(得分:1)
var2
类型为字符串,将其转换为int。
var2 = int(var2)
如您所知,'1' == 1
是错误的。
答案 1 :(得分:1)
您没有调用函数my_converter()。调用函数本质上就是要运行它。要调用该函数,只需在程序末尾的未缩进的行上键入my_converter()
。
答案 2 :(得分:1)
两个小问题,您没有调用该函数,而是尝试在逻辑测试中比较输入中的字符串和int。
...
var2 = int(input("What Currency Do You Want To Convert To?: "))
def my_converter():
if var2 == 1:
var3 = var1 * float(114.62)
var4 = "Yen"
print(USD, "U.S. Dollars equals", var3, var4)
elif var2 == 2:
var3 = var1 * float(1.14)
var4 = "Euro"
print(USD, "U.S. Dollars equals", var3, var4)
...
my_converter()
这现在可以正常工作