货币转换-项目作业,我这个思路是不有问题啊?

货币转换-项目作业,我这个思路是不有问题啊?

service_menu = {1:"人民币转换美元",2:"美元转换人民币",3:"人民币转换欧元",0:"结束程序"}

lst = [1,2,3,0]

your_money = 100

print('**********欢迎使用货币转换服务系统**********')

for key in lst:

    print(key,".",service_menu[key])

    print("欢迎使用"+service_menu[key]+"服务")

    if key == 1:

        print("您需要转换的人民币为:",your_money,"元")

        print("兑换成美元为:",your_money/7.14,"$")

        print('=================================')

    if key == 2:

        print("您需要转换的美元为:",your_money,"$")

        print("兑换成人民币为:",your_money*7.14,"元")

        print('=================================')

    if key == 3:

        print("您需要转换的人民币为:",your_money,"元")

        print("兑换成欧元为:",your_money*0.12,"€")

        print('=================================')

    if key == 0:

        print("感谢您的使用,祝您生活愉快,再见!")


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
你_必须努力 2020-03-05 03:12:56
USD2RMB = 7.14
RMB2EUR = 0.12

your_money = 100

service_menu = {'1': '人民币转换美元', '2': '美元转换人民币', '3': '人民币转换欧元', '0': '结束程序'}
lst = ['1', '2', '3', '0']

money_type = {'1': ['人民币', '元', '美元', '$'], '2': ['美元', '$', '人民币', '元'], '3': ['人民币', '元', '欧元', '€']}

print('**********欢迎使用货币转换服务系统**********')
for key in lst:
    print(key + ' . ' + service_menu[key])
    if key != '0':
        print('欢迎使用' + service_menu[key] + '服务')
        print('需要转换的' + money_type[key][0] + '为: ' + str(your_money) + ' ' + money_type[key][1])
        print('兑换成' + money_type[key][2] + '为: ', end='')
        money = 0
        if key == '1':
            money = your_money / USD2RMB
        elif key == '2':
            money = your_money * USD2RMB
        else:
            money = your_money * RMB2EUR
        print(str(money) + ' ' + money_type[key][3])
    else:
        print('感谢您的使用,祝您生活愉快,再见!')
    print('==================================')

可以提取公共部分

好帮手慕美 2020-02-24 17:27:44

同学,你好。同学的代码实现了相应的效果,没有太大问题。还有细节问题需要注意:

1、当key值为0时,也应输出等号线

http://img1.sycdn.imooc.com//climg/5e5396e3096af13604150074.jpg

2、输出服务菜单项代码可以写在if条件判断中

http://img1.sycdn.imooc.com//climg/5e53970c09aa32b404470420.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • 提问者 小铁木尔 #1
    感谢,“写在if条件判断中” 以后 解决了0项服务输出不符合题目的问题
    2020-02-24 20:33:12
  • 提问者 小铁木尔 #2
    但是我总感觉这样的设计逻辑很繁琐,有更好的设计逻辑吗??
    2020-02-24 20:34:36
  • 好帮手慕美 回复 提问者 小铁木尔 #3
    同学,你好。同学的作业是符合题目要求的,逻辑也是可以的。祝学习愉快~~~~
    2020-02-25 14:55:50
提问者 小铁木尔 2020-02-23 18:02:27
提问者 小铁木尔 2020-02-23 17:49:05

或者哪里改进,会更好?

  • 提问者 小铁木尔 #1
    --- 定义一个列表lst,分别存放文字1,2,3,0。使用for循环得到列表中的元素后,使用service_menu[key]的方式得到字典中的value值,并对结果进行输出。 --我开始就是根据题干设计的,但是最后那个0项服务,就发现不对了,是我对题干理解错了吗?
    2020-02-23 17:59:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师