2013-12-23 3 views
2

어떻게이 코드를받을 수 있나요 :파이썬에서 raw_input을 사용하여 사전에 값을 입력하고 사전에 추가하는 방법은 무엇입니까?

ans = raw_input('Enter Amount of Players: ').lower() 
if ans == '2': 
    a = raw_input('What is Player 1 named:') 
    b = raw_input('What is Player 2 named:') 
    cf={a:{}, b:{}} 
    p1 = raw_input('What is Player 1 city named:') 
    p2 = raw_input('What is Player 2 city named:') 
    cf[a[p1]] = '50' 
    cf[b[p2]] = '50' 

이 같은 것을 생산을 경우 선수 1 I 입력 '매트', 플레이어 2 '닉', 플레이어 (1) 도시의 '뉴욕'및 '라' 플레이어 2 도시 :

{'matt':{'nyc':50}, 'nick':{'la':50}} 

대신에 오류 코드?

+4

'CF를? 또한 숫자 입력을 줄이면 약간 이상하게 보입니다. – Ryan

+0

그건 그 덕분에 작동합니다. – user2757442

답변

1

이 작동한다 : [A] [P1] '보다는'CF [A [P1] '

cf.__getitem__(a).__setitem__(p1,50) 
cf.__getitem__(b).__setitem__(p2,50) 
+0

그게'cf [a] [p1] = 50'이하는 일입니다. 당신은 거의 직접적으로 그 메소드를 직접 호출하고 싶지는 않습니다. –

관련 문제