#44503: python UVa 過了但這裡沒過


sam851015@gmail.com (多挖鼻孔有益身心健康)

學校 : 臺中市立惠文高級中學
編號 : 277705
來源 : [123.192.228.253]
最後登入時間 :
2025-03-11 12:39:29
e785. 12592 - Slogan Learning of Princess -- UVA | From: [123.192.228.253] | 發表日期 : 2024-12-11 20:11

不太明白問題出在哪

其實我餵給範例測資也是沒過,但不懂為什麼沒過

 

slogan = {input().rstrip():input().rstrip() for _ in range(int(input()))}
for _ in range(int(input())):
    print(slogan[input().rstrip()])

 

報錯的資訊是 KeyError ,說明遇到不存在的口號

但不管怎麼看都長一樣

 

嘗試過遇到不存在的口號便直接輸出原口號,結果是吃 WA 

 

 
#44504: Re: python UVa 過了但這裡沒過


sam851015@gmail.com (多挖鼻孔有益身心健康)

學校 : 臺中市立惠文高級中學
編號 : 277705
來源 : [123.192.228.253]
最後登入時間 :
2025-03-11 12:39:29
e785. 12592 - Slogan Learning of Princess -- UVA | From: [123.192.228.253] | 發表日期 : 2024-12-11 20:25

放棄字典,改用兩個 list 紀錄口號

然後用 list.index() 找位置

過了,雖然不是很喜歡這個方法...

 

似乎字典在某些情況下會有些問題?

相同的字串做成字典的 key ,有機率會讓編譯器認定為不同的 key?

 
#44518: Re: python UVa 過了但這裡沒過


hansjiang1017@gmail.com (單純想出題所以在拚30%)

學校 : 不指定學校
編號 : 278037
來源 : [163.26.8.32]
最後登入時間 :
2025-04-08 14:04:34
e785. 12592 - Slogan Learning of Princess -- UVA | From: [111.242.121.139] | 發表日期 : 2024-12-12 19:16

放棄字典,改用兩個 list 紀錄口號

然後用 list.index() 找位置

過了,雖然不是很喜歡這個方法...

 

似乎字典在某些情況下會有些問題?

相同的字串做成字典的 key ,有機率會讓編譯器認定為不同的 key?


根據你的方法:

slogan 會變成:
{'tui rajakar tui rajakar': 'ko te kader molla', 'garo chakma bangali': 'tumi ke ami ke', 'agun jalo': 'jalo re jalo'}

(其實也不確定為何)

但只要修改input順序應該就可以AC了(我也是用字典AC)

 
#44519: Re: python UVa 過了但這裡沒過


sam851015@gmail.com (多挖鼻孔有益身心健康)

學校 : 臺中市立惠文高級中學
編號 : 277705
來源 : [123.192.228.253]
最後登入時間 :
2025-03-11 12:39:29
e785. 12592 - Slogan Learning of Princess -- UVA | From: [123.192.228.253] | 發表日期 : 2024-12-12 20:10

 


根據你的方法:

slogan 會變成:
{'tui rajakar tui rajakar': 'ko te kader molla', 'garo chakma bangali': 'tumi ke ami ke', 'agun jalo': 'jalo re jalo'}

(其實也不確定為何)

但只要修改input順序應該就可以AC了(我也是用字典AC)


啊?紀錄的順序是反過來的?????

也許我應該更加注意一下python的版本差異......

 

但其實我也不知道能用什麼關鍵字找這個這麼細節的東西

 

 
#44521: Re: python UVa 過了但這裡沒過


hansjiang1017@gmail.com (單純想出題所以在拚30%)

學校 : 不指定學校
編號 : 278037
來源 : [163.26.8.32]
最後登入時間 :
2025-04-08 14:04:34
e785. 12592 - Slogan Learning of Princess -- UVA | From: [111.242.121.139] | 發表日期 : 2024-12-12 21:00

 


根據你的方法:

slogan 會變成:
{'tui rajakar tui rajakar': 'ko te kader molla', 'garo chakma bangali': 'tumi ke ami ke', 'agun jalo': 'jalo re jalo'}

(其實也不確定為何)

但只要修改input順序應該就可以AC了(我也是用字典AC)


啊?紀錄的順序是反過來的?????

也許我應該更加注意一下python的版本差異......

 

但其實我也不知道能用什麼關鍵字找這個這麼細節的東西

 


應該就是因為版本差異(我用3.6.7會反過來)

 
#44539: Re: python UVa 過了但這裡沒過


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.15.17.151]
最後登入時間 :
2025-02-02 09:42:51
e785. 12592 - Slogan Learning of Princess -- UVA | From: [106.64.152.155] | 發表日期 : 2024-12-16 10:13

 


根據你的方法:

slogan 會變成:
{'tui rajakar tui rajakar': 'ko te kader molla', 'garo chakma bangali': 'tumi ke ami ke', 'agun jalo': 'jalo re jalo'}

(其實也不確定為何)

但只要修改input順序應該就可以AC了(我也是用字典AC)


啊?紀錄的順序是反過來的?????

也許我應該更加注意一下python的版本差異......

 

但其實我也不知道能用什麼關鍵字找這個這麼細節的東西

 


應該就是因為版本差異(我用3.6.7會反過來)


python 3.8改了dict comprehension的順序

PEP 572

 

 
#44540: Re: python UVa 過了但這裡沒過


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.15.17.151]
最後登入時間 :
2025-02-02 09:42:51
e785. 12592 - Slogan Learning of Princess -- UVA | From: [106.64.152.155] | 發表日期 : 2024-12-16 10:17

 


根據你的方法:

slogan 會變成:
{'tui rajakar tui rajakar': 'ko te kader molla', 'garo chakma bangali': 'tumi ke ami ke', 'agun jalo': 'jalo re jalo'}

(其實也不確定為何)

但只要修改input順序應該就可以AC了(我也是用字典AC)


啊?紀錄的順序是反過來的?????

也許我應該更加注意一下python的版本差異......

 

但其實我也不知道能用什麼關鍵字找這個這麼細節的東西

 


應該就是因為版本差異(我用3.6.7會反過來)


python 3.8改了dict comprehension的順序

PEP 572

 


你的程式碼可以改成這樣:

slogan = dict((input().rstrip(),input().rstrip()) for _ in range(int(input())))
 
ZeroJudge Forum