2014-06-10 4 views
-2

그래서. 나는 사용자 입력을 받아서 처리하는 코드를 가지고있다. 거기에는 이름과 Sean이라는 이름이 있습니다. Sean이 무엇인지 물어 봅니다. 나는 숀 (Sean)의 어느 쪽도 들어 가지 않도록 그것을 원한다. 나는 '그 숀 (Sean)을 알지 못한다. 그러나 그것의 버그와 작동하지 않을 것이다'라고 말할 것이다. 어떤 도움이 필요합니까? 코드를 가공합니다.입력 키워드를 기반으로 출력

name = raw_input ("What's your name?") 

if Sean in name:  
    name1 = raw_input("Downey or Paul?")  
else:  
    print ('Hi %s') % (name)  
if Downey in name1:  
    print ("Hi Sean Downey")  
if Paul in name1:  
    print ("Hi Sean Paul")  
else:  
    print ("I don't know that Sean") 

답변

3

내가 함께

name = raw_input ("What's your name?") 

if 'Sean' in name:  
    name1 = raw_input("Downey or Paul?")   
    if 'Downey' in name1:  
     print ("Hi Sean Downey") 
     x = raw_input("Did you know that the name is irish?") 
     if x == 'yea': 
      print ('oh cool') 
    elif 'Paul' in name1:  
     print ("Hi Sean Paul")  
    else:  
     print ("I don't know that Sean") 
else:  
    print ('Hi %s') % (name) 

먼저 언급 user2612566로, 당신이 혼란 변수 아래에서 설명 할 것이다 약간의 변경 코드의 작업 버전입니다 문자열 리터럴. 사용자가 Sean을 이름으로 입력했는지 확인하려면 입력이 문자열로 변환 되었기 때문에 if 'Sean' in name:을 확인해야합니다. 숀 name에없는 경우에도, 그 때문에 코드의 하단에있는 else 블록의 I don't know that Sean를 인쇄 할 있도록

둘째, 당신의 코드가 명령을 받았다, 나는 변화 그 첫 번째로 2 층과 3 if 블록을 이동하여 if 블록.

셋째, if Downey in name1: checke하지만 코드가 첫 번째 경우에 입력하면 그것이 첫 번째 경우 입력하지 않습니다 그래서 만약 name1는 단지 그것을 변수 name1을 찾을 수 없기 때문에 코드가 실패, 존재한다. 이것은 ifif

+0

사용자가 Downey라고 말하면 어떻게 이름을 아일랜드어로 알 수 있는지 물어볼 것입니다. 그리고 그들이 말하면 '오 멋있다'라고 말합니다. – ImSeanDowney

+0

@ user3727382 편집을보고 몇 줄을 삽입했습니다. . 'x'에 응답을 저장하는 새로운 raw_input과 입력을 확인하고 '오한'을 인쇄하는 새로운'if' –

+0

인쇄되지 않습니다. – ImSeanDowney

2

변수 이름으로 문자열 리터럴을 혼동하고 있습니다. Sean in name1 대신 'Sean' in name1이 있는지 테스트하려는 것으로 보입니다. 또한

, 세 번째 문은 ELIF해야한다 '가'-도 제대로 원하는 결과를 중첩되지 않은 here

귀하의 IFS를 참조하십시오.

고정 코드 : 여기

name = raw_input ("What's your name?") 

if 'Sean' in name:  
    name1 = raw_input("Downey or Paul?") 
    if 'Downey' in name1:  
     print ("Hi Sean Downey")  
    elif 'Paul' in name1:  
     print ("Hi Sean Paul")  
    else:  
     print ("I don't know that Sean") 
else:  
    print ('Hi %s') % (name)  
+0

으로 옮겨서 고칠 수 있습니다. 어떻게 알려지지 않은 성이 입력되어 있지 않은 경우, '나는 그 사실을 모릅니다.'라고 말합니다. – ImSeanDowney

+0

만약 다우 타이 인 in name1'과'Paul in name1' (elif로 바꾸는 것뿐만 아니라)과 그것이 원하는 방식으로 작동해야합니다. –

+0

작동하지만 숀이 아닌 이름을 입력하면/안녕 (이름)/안녕 션 폴 – ImSeanDowney

관련 문제