2013-11-21 3 views
-1

나는 거의 "붐 트렉"이라는 게임을 끝 마쳤습니다. 숫자와 숫자 사이의 점프 (COUNTFROM, JUMP, COUNTUNTIL)와 마지막 2 for 루프에서 사용자가 숫자 2 (X, Y)를 넣으면 인쇄됩니다 (예 : x = 3이므로 6 대신 "붐"을 인쇄합니다) 문제는 id가 모든 if 조건을 적용하지 않는다는 것입니다. "Trach"만 적용하고 나머지는 건너 뜁니다. 끝에 숫자와 "붐", "trach"의 원시를 인쇄해야합니다. 감사for 루프 파이썬에서 일부를 건너 뜁니다.

import sys 
Z = str(raw_input()) 
Digits_List = Z.split(" ") 
X = int(Digits_List[0]) 
Y = int(Digits_List[1]) 
CountFrom = int(Digits_List[2]) 
jump = int(Digits_List[3]) 
CountUntil = int(Digits_List[4]) 

// some basic conditions 
if (X<1 or X>9) or (Y<1 or Y>9): 
    print "X and Y must be between 1 and 9" 

if (jump==0): 
    print "Cannot jump from ", CountFrom, " to ", CountUntil 

if (CountFrom>0 and CountUntil>0 and jump<0): 
    print "Cannot jump from ", CountFrom, " to ", CountUntil 

if (CountFrom>0 and CountUntil<0 and jump>0): 
    print "Cannot jump from ", CountFrom, " to ", CountUntil 

if (CountFrom<0 and CountUntil>0 and jump<0): 
    print "Cannot jump from ", CountFrom, " to ", CountUntil 

if (CountFrom<0 and CountUntil<0 and jump>0): 
    print "Cannot jump from ", CountFrom, " to ", CountUntil 

portion = CountFrom - CountUntil 

if (portion % jump != 0): 
    print "Cannot jump from ", CountFrom, " to ", CountUntil 

elements = [] 
for i in range(CountFrom, CountUntil+jump, jump): 
    elements.append(i) 

//2 FOR LOOPS- if-s dont work 
for num in elements:  
    for num1 in str(num): 
     if num1==X and num1==Y: 
      print "BOOM-TRACH" 
     elif num1==X: 
      print "BOOM" 
     elif num1== Y: 
      print "TRACH" 
    elif (num%X==0) and (num%Y==0): 
     print "BOOM-TRACH"  
    elif (num%X == 0): 
     print "BOOM"   
    elif (num%Y == 0): 
     print "TRACH" 
    else: 
     print num 
+0

'str (num)! = int (num)'. ('int (num1)') – karthikr

+0

이것은 유효한 코드가 아니며 문제를 설명하지 않습니다. C++ 스타일의'//'주석을위한'SyntaxError'를 얻습니다 (Python에서는'/'는 나누기입니다). 수정했다면 'elif'를'for'에 붙이려는 시도를위한'SyntaxError'를 얻습니다. 이는 의미가 없습니다. 그리고 그 경우에, 당신이 원했던 바가 전혀 명백하지 않습니다. (실제 코드에서 다른 것은 실제 문제가 어디에서 수정해야하는지입니다.) 제발 진짜 코드를주세요. – abarnert

+0

또한, karthikr과 kindall이 지적한 것처럼, 당신이'if's를 어떻게 구조화했는지에 관계없이, 여러분이 주장하는 것처럼이 코드가 "BOOM"을 출력하는 방법은 없습니다. 실제 문제를 설명하고 문제가 아니라 원하는 것을 설명하십시오. – abarnert

답변

0
if num1==X and num1==Y: 
여기

num1은 문자열입니다. XY은 정수입니다. 그들은 결코 평등하지 않을 것이다. num1을 정수로 변환하십시오.

관련 문제