2009-06-25 15 views
0

내 코드 변수를 넣어 수 없습니다 :파이썬의 인쇄에

year=[51-52,53,55,56,58,59,60,61] 
photo=[{70,72,73},{64,65,68},{79,80,81,82},{74,77,78},{60,61,62},{84,85,87},{57,58,59},{53,54,55,56}] 

for i in range(7): 
    print "<img src=\"http://files.getdropbox.com/u/100000/Akuja/",year,"/P10104",photo,".JPG\">" 

내가 그것을 실행하고 나는

File "/tmp/aku.py", line 2 
    photo=[{70,72,73},{64,65,68},{79,80,81,82},{74,77,78},{60,61,62},{84,85,87},{57,58,59},{53,54,55,56}] 
      ^
SyntaxError: invalid syntax 

내가

<img src="http://files.getdropbox.com/u/100000/Akuja/51-52/P1010470.JPG"> 
<img src="http://files.getdropbox.com/u/100000/Akuja/51-52/P1010472.JPG"> 
<img src="http://files.getdropbox.com/u/100000/Akuja/51-52/P1010473.JPG"> 

<img src="http://files.getdropbox.com/u/100000/Akuja/53/P1010464.JPG"> 
<img src="http://files.getdropbox.com/u/100000/Akuja/53/P1010465.JPG"> 
<img src="http://files.getdropbox.com/u/100000/Akuja/53/P1010468.JPG"> 

... 

나는 또한 다음과 같은 출력을 원하는 수를 목록에 대한 구문과 동일한 코드를 성공적으로 실행하지 마십시오. photo = {[7 0,72,73], ...}

어떻게 파이썬 코드를 작동시킬 수 있습니까?

답변

2

은 간단한 문제에 대한 귀하의 간단한 솔루션입니다

당신은 내가 이런 식으로 할 것이다 그 해에 몇 년이 사진을 인쇄 반복하려고하기 때문에
year=['51-52', '53', '55' , '56' , '58', '59', '60', '61'] 
photo=[[70,72,73], [64,65,68],[79,80,81,82],[74,77,78],[60,61,62],[84,85,87],[57,58,59],[53,54,55,56]] 

for i in range(len(year)): 
    for j in range(len(photo[i])): 
     print '<img src=\"http://files.getdropbox.com/u/100000/Akuja/%s/P10104%s.JPG>' % (year[i], photo[i][j]) 
+0

변수 사진에있는 몇 가지 문제가 있습니다, 내가 얻을 이후에 http : // dpaste .com/59845/ –

+1

흠? 방금 실행했고 http://dpaste.com/59851/ – Toby

+0

@ 꼬마 : 맞습니다 - 코드가 작동합니다. 나는 분명히 코드를 대처하는데있어서 틀린 버튼을 눌렀다. –

3

중괄호는 사전 (연관 배열)을 나타내는 데 사용됩니다. 목록을 나타내는 대괄호를 사용하려고합니다.

또한 첫 번째 줄에는 51-52가 필요하지 않으므로 -1로 평가됩니다. 문자열인지 확인하려면 "51-52"를 넣어야합니다.

그러면 원하는 색인 ​​생성을 얻으려면 전체 목록을 인쇄하는 연도 대신 [**] ** 연도를 수행해야합니다. 그래서 여기

1

:

year=["51-52","53","55","56","58","59","60","61"] 
photo=[(70,72,73),(64,65,68),(79,80,81,82),(74,77,78),(60,61,62), 
     (84,85,87),(57,58,59),(53,54,55,56)] 

# this dictionary will be generated with the code below 
#photos = { 
# "51-52": (70,72,73), 
# "53": (64,65,68), 
# "55": (79,80,81,82), 
# "56": (74,77,78), 
# "58": (60,61,62), 
# "59": (84,85,87), 
# "60": (57,58,59), 
# "61": (53,54,55,56) 
#} 


photos = {}       # create photos dictionary 

for y in xrange(len(year)): 
    photos[year[y]] = photo[y] 

years = photos.keys()    # sort the years 
years.sort() 

for year in years: 
    for photo in photos[year]: 
     print "<img src=\"http://files.getdropbox.com/u/100000/Akuja/"+year+"/P10104"+str(photo)+".JPG\">" 

당신을 당신이 년이있는 경우

<img src="http://files.getdropbox.com/u/100000/Akuja/51-52/P1010470.JPG"> 
<img src="http://files.getdropbox.com/u/100000/Akuja/51-52/P1010472.JPG"> 
<img src="http://files.getdropbox.com/u/100000/Akuja/51-52/P1010473.JPG"> 
<img src="http://files.getdropbox.com/u/100000/Akuja/53/P1010464.JPG"> 
<img src="http://files.getdropbox.com/u/100000/Akuja/53/P1010465.JPG"> 
<img src="http://files.getdropbox.com/u/100000/Akuja/53/P1010468.JPG"> 

내가 사전에 사진과 년을 저장하는 것입니다 위 그림과 같이 있지만 : 얻을 및 (질문에서와 같이) 별도의 목록에있는 사진은, 노트 년 ""따옴표에 같은 사진을 만들 수 있습니다

photos = {} 

for y in xrange(len(year)): 
    photos[year[y]] = photo[y] 
+0

함수 .keys() 및 .sort()가 좋습니다. –