鱼C论坛

 找回密码
 立即注册
查看: 1021|回复: 4

[已解决]汇率换算哪里出错了?

[复制链接]
发表于 2018-4-11 14:06:55 | 显示全部楼层 |阅读模式
2鱼币
def RateExchange (ValueStr):
    if ValueStr[-1] in ['RMB']:
        USD = (eval(ValueStr[0,-1])) / 6
        print ("转换后的金额为{:.2f}$".format(USD)
    if ValueStr[-1] in ['USD']:
        RMB = (eval(ValueStr[0,-1]) )* 6
        print ("转换后的金额为{:.2f}¥".format(RMB)
    else:
        print ("输入格式错误")
RateStr = input ("请输入带有符号的金额:")
RateExchange(RateStr)
最佳答案
2018-4-11 14:06:56
本帖最后由 冰封雪舞 于 2018-4-11 14:42 编辑

1.语法上说你的前两个print语句后边都少了一半括号,也就是),那个美元换人民币的print语句最后一个)还是全角输入的。
2.从逻辑上说看不懂,ValueStr[-1] 是要求你输入RMB的时候输入440RMB吗?那样的话切片好像有问题ValueStr[-1]='B',而不是'RMB',它们永远不会相等。
令把你的程序小改了下你参考下
def RateExchange (ValueStr):   
    if ValueStr[-3:] =='RMB':        
        USD = (eval(ValueStr[:-3])) / 6
        print ("转换后的金额为{:.2f}$".format(USD))
    elif ValueStr[-3:] =='USD':               
               RMB = (eval(ValueStr[:-3]) )* 6
               print ("转换后的金额为{:.2f}¥".format(RMB))
    else:
        print ("输入格式错误")
        

while 1:
    RateStr = input ("请输入带有符号的金额:结束输入q")
    if RateStr == 'q'or RateStr =='Q':
        print('欢迎下次使用')
        break
    RateExchange(RateStr)

最佳答案

查看完整内容

1.语法上说你的前两个print语句后边都少了一半括号,也就是),那个美元换人民币的print语句最后一个)还是全角输入的。 2.从逻辑上说看不懂,ValueStr[-1] 是要求你输入RMB的时候输入440RMB吗?那样的话切片好像有问题ValueStr[-1]='B',而不是'RMB',它们永远不会相等。 令把你的程序小改了下你参考下 def RateExchange (ValueStr): if ValueStr[-3:] =='RMB': USD = (eval(ValueStr[:-3])) / 6 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-11 14:06:56 | 显示全部楼层    本楼为最佳答案   
本帖最后由 冰封雪舞 于 2018-4-11 14:42 编辑

1.语法上说你的前两个print语句后边都少了一半括号,也就是),那个美元换人民币的print语句最后一个)还是全角输入的。
2.从逻辑上说看不懂,ValueStr[-1] 是要求你输入RMB的时候输入440RMB吗?那样的话切片好像有问题ValueStr[-1]='B',而不是'RMB',它们永远不会相等。
令把你的程序小改了下你参考下
def RateExchange (ValueStr):   
    if ValueStr[-3:] =='RMB':        
        USD = (eval(ValueStr[:-3])) / 6
        print ("转换后的金额为{:.2f}$".format(USD))
    elif ValueStr[-3:] =='USD':               
               RMB = (eval(ValueStr[:-3]) )* 6
               print ("转换后的金额为{:.2f}¥".format(RMB))
    else:
        print ("输入格式错误")
        

while 1:
    RateStr = input ("请输入带有符号的金额:结束输入q")
    if RateStr == 'q'or RateStr =='Q':
        print('欢迎下次使用')
        break
    RateExchange(RateStr)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-11 14:33:18 | 显示全部楼层
错误提示?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-4-11 14:43:01 | 显示全部楼层
本帖最后由 Shadow.. 于 2018-4-11 14:45 编辑


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-11 14:53:32 | 显示全部楼层
  1. def RateExchange (ValueStr):
  2.     amount, unit = ValueStr.split()
  3.     if unit.upper() == 'RMB':
  4.         USD = (eval(amount)) / 6
  5.         print ("转换后的金额为{:.2f} USD".format(USD))
  6.     elif unit.upper() == 'USD':
  7.         RMB = (eval(amount)) * 6
  8.         print("转换后的金额为{:.2f} RMB".format(RMB))
  9.     else:
  10.         print ("输入格式错误")
  11. RateStr = input ("请输入带有符号的金额(金额与单位用空格隔开):")
  12. RateExchange(RateStr)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-21 00:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表