kaysama。 2021-11-26 08:35 采纳率: 83.3%
浏览 283
已结题

贝蒂去超市买橘子的问题

贝蒂去超市买橘子,橘子有几类,种类用小写字母表示,单个橘子价格为a:1元,b:3元,c:5元,d:6元,e:10元,f:14元,输入一段字母,进行求和。
例:输入 abcf
输出 23
例:输入abadf
输出 25
注意输入时是连续的,这是我自己的解法,请问大佬有没有更好的解法。

img

  • 写回答

1条回答 默认 最新

  • 於黾 2021-11-26 08:41
    关注

    更好的解法就是用列表存放价格,而不是定义6个变量

    price=[1,3,5,6,10,14]
    n=input()
    sum=0
    for i in n:   
        sum+=price[ord(i)-ord('a')] #把字母转ascii码,相减得到字母处于列表的第几项
    print(sum)
    

    另一个思路是定义好a,b,c,d,e,f,6个变量,然后利用eval函数去变量里取值

    a=1
    b=3
    c=5
    d=6
    e=10
    f=14
    n=input()
    sum=0
    for i in n:   
        sum+=eval(i) #把字符串转成表达式,此处相当于将字符串'a'转成变量a
    print(sum)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 11月26日

悬赏问题

  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi