在不同的函数中使用相同的变量可以

2024-06-16 13:40:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python编写我的第一个脚本,它是一个货币转换器。我只需要最后一个,但我不能让它发挥作用。你知道吗

这是剧本

print "                               Conversor de moeda"
print "                                      by DB \n"
def voltar():
     opcao=raw_input("--------------------------------------------------------------------------\nPara converter outro valor Inserir 1 \nPara voltar ao menu     Inserir 2")
     if opcao == "1":
          pass
     elif opcao == "2":
          pass
     else:
          voltar()     
def conversor():
     tipo_conv=raw_input("Inserir o número correspondente ao tipo de conversão desejado e carregar no enter: \n1 - Euros -> Dólares  \n2 - Dólares -> Euros \n3 - Euros -> Libras  \n4 - Libras -> Euros \n") 
     if tipo_conv == "1":
          qtd=input("Inserir quantidade de Euros a converter:")
          qtd2=qtd * 1.09212
          print qtd, "Euros =" , qtd2, "Dólares"
          voltar()
     elif tipo_conv == "2":
          qtd=input("Inserir quantidade de Dólares a converter:")
          qtd2=qtd * 0.915650
          print qtd, "Dólares =" , qtd2, "Euros"
          voltar()
     elif tipo_conv == "3":
          qtd=input("Inserir quantidade de Euros a converter:")
          qtd2=qtd * 0.751910 
          print qtd, "Euros =" , qtd2, "Libras"
          voltar()
     elif tipo_conv == "4":
          qtd=input("Inserir quantidade de Libras a converter:")
          qtd2=qtd * 1.32995
          print qtd, "Libras =" , qtd2, "Euros"
          voltar()
     else:
          print "Erro. Escolher uma das quatro opções disponíveis"
          conversor()
def voltar():
     opcao=raw_input("--------------------------------------------------------------------------\nPara converter outro valor - Inserir 1 \nPara voltar ao menu - Inserir 2 \n--------------------------------------------------------------------------\n")
     if opcao == "1":
          pass
     elif opcao == "2":
          conversor()
     else:
          voltar() 



conversor()

它首先要求用户从菜单中选择他们想要的转换类型。然后它询问他们想要转换的金额。之后,它会询问他们是否要转换其他金额或返回菜单。我使返回菜单部分的工作,但不能写的一部分,返回到转换之前转换硬币的另一个数额。有什么想法吗?你知道吗


Tags: inputdeconverterprintelifconvlibrastipo
1条回答
网友
1楼 · 发布于 2024-06-16 13:40:09

您可以让conversor()接受一个默认参数,该参数从voltar()发送给它。如果用户决定使用相同的货币返回转换,那么该值将被发送回conversor(),并且由于调用中包含了该值,因此将跳过关于使用哪种货币的问题。你知道吗

您也不需要(也可能不应该)两次确定voltar()

print "                               Conversor de moeda"
print "                                      by DB \n"
def voltar(tipo_conv=None):
     opcao=raw_input("                                     \nPara converter outro valor - Inserir 1 \nPara voltar ao menu - Inserir 2 \n                                     \n")
     if opcao == "1":
          conversor(tipo_conv)
     elif opcao == "2":
          conversor()
     else:
          voltar()  

def conversor(tipo_conv=None):
     if not tipo_conv:
         tipo_conv=raw_input("Inserir o número correspondente ao tipo de conversão desejado e carregar no enter: \n1 - Euros -> Dólares  \n2 - Dólares -> Euros \n3 - Euros -> Libras  \n4 - Libras -> Euros \n") 
     if tipo_conv == "1":
          qtd=input("Inserir quantidade de Euros a converter:")
          qtd2=qtd * 1.09212
          print qtd, "Euros =" , qtd2, "Dólares"
          voltar('1')
     elif tipo_conv == "2":
          qtd=input("Inserir quantidade de Dólares a converter:")
          qtd2=qtd * 0.915650
          print qtd, "Dólares =" , qtd2, "Euros"
          voltar('2')
     elif tipo_conv == "3":
          qtd=input("Inserir quantidade de Euros a converter:")
          qtd2=qtd * 0.751910 
          print qtd, "Euros =" , qtd2, "Libras"
          voltar('3')
     elif tipo_conv == "4":
          qtd=input("Inserir quantidade de Libras a converter:")
          qtd2=qtd * 1.32995
          print qtd, "Libras =" , qtd2, "Euros"
          voltar('4')
     else:
          print "Erro. Escolher uma das quatro opções disponíveis"
          conversor()

voltar()

相关问题 更多 >