求助
Takahashi在一家寿司餐厅吃了N盘寿司。第i盘寿司的颜色用字符串C_i表示。每个寿司的价格与盘子的颜色对应。对于每个i=1到M,颜色为字符串D_i的盘子上的寿司价值为P_i日元一盘。如果颜色与D_1到D_M中的任何一个不匹配,则价值为P_0日元一盘。
请找出Takahashi所吃寿司的总价格。
约束条件:
1 <= N, M <= 100
C_i和D_i是由小写英文字母组成的字符串,长度介于1和20之间(含边界)。
D_1到D_M互不相同。
1 <= P_i <= 10000
N、M和P_i为整数。
输入格式:
N M
C_1 ... C_N
D_1 ... D_M
P_0 P_1 ... P_M
输出格式:
输出一个整数作为答案。
示例输入1:
3 2
red green blue
blue red
800 1600 2800
示例输出1:
5200
示例输入2:
3 2
code queen atcoder
king queen
10 1 1
示例输出2:
21
我的代码:N, M = map(int, input().split())
plates = list(map(str,input().split()))
colors = list(map(str,input().split()))
money = list(map(int, input().split()))
money2 = 0
D = 0
for i in range(N):
try:
A = plates.index(colors)
money2+=money
except:
money2+=money
D+=1
print(money2)
为什么过不了 你的代码有一点小错误。在循环中,你使用 plates.index(colors) 来查找颜色对应的盘子的索引,但是这个方法只会返回第一个匹配的索引,而不是根据颜色匹配。因此,你的代码可能会出现错误的结果。
为了解决这个问题,你可以使用字典来存储颜色和价格的对应关系。然后,遍历每个寿司盘子的颜色,查找对应的价格并累加到总价格上。
下面是修改后的代码:
N, M = map(int, input().split())
plates = list(map(str, input().split()))
colors = list(map(str, input().split()))
money = list(map(int, input().split()))
price_dict = {}# 用字典存储颜色和价格的对应关系
for i in range(M):
price_dict] = money# 第一个价格是P_0,所以从money开始
total_price = 0
for i in range(N):
color = plates[ i]
if color in price_dict:
total_price += price_dict
else:
total_price += money# 如果颜色不匹配,使用P_0的价格
print(total_price)
这样修改后,你的代码应该可以通过测试了。希望能帮到你! sfqxx 发表于 2023-7-1 21:25
运行报错
你的代码逻辑有误。你应该是对于每一盘寿司,查找它的颜色是否在D_1到D_M中,如果在,就加上对应的价格,如果不在,就加上P_0。但是你的代码中,你是在寿司的颜色列表中查找D_1到D_M的颜色,这是错误的。
你应该这样修改你的代码:
N, M = map(int, input().split())
plates = list(map(str,input().split()))
colors = list(map(str,input().split()))
money = list(map(int, input().split()))
total = 0
for i in range(N):
if plates in colors:
total += money)+1]
else:
total += money
print(total)
isdkz 发表于 2023-7-1 21:22
你的代码有一点小错误。在循环中,你使用 plates.index(colors) 来查找颜色对应的盘子的索引,但是这个 ...
成功 sfqxx 发表于 2023-7-1 21:38
成功
额,白费我问了一遍gpt4,gpt4实在太贵了{:10_266:}
第一个是问的gpt3.5,第二个是问的gpt4 isdkz 发表于 2023-7-1 21:40
额,白费我问了一遍gpt4,gpt4实在太贵了
第一个是问的gpt3.5,第二个是问的gpt4
第一个就对了,谢谢昂 sfqxx 发表于 2023-7-1 21:41
第一个就对了,谢谢昂
let me help you,the new station of jinshutuan is https://c.binjie.fun 歌者文明清理员 发表于 2023-7-1 23:30
let me help you,the new station of jinshutuan is https://c.binjie.fun
开头没有大写,扣分{:10_256:}
页:
[1]