2014-11-06 3 views
1

나는 프로그래밍 수업에 대한 나의 소개에있어 어떤 이유로 여기에서 진행하는 방법에 대해 다소 혼란 스럽다. 기본적으로 프롬프트는 사용자가 입력 한 세 개의 숫자를 비교하여 첫 번째 숫자가 마지막 두 숫자 사이에 있는지 확인하는 것입니다.3 개의 숫자를 비교하고 있습니까?

def fun1(a,b,read,): 
    if a < read and read > b: 
     return print("Yes") 
    elif b < read and read > a: 
     return print("Yes") 
    else: 
     return print("No") 

def main(): 
    read = input("mid: ") 
    a = input("num1 ") 
    b = input("num2 ") 
    fun1(read,a,b,) 
    print("result:",fun1) 

그래서 처음 기능에서 비교 기능을 얻는 방법을 알 수 없습니다. 어떤 도움을 많이 주시면 감사하겠습니다!

+0

'a b '가 아닙니다. –

답변

4

파이썬은 chain comparison operators 당신을 수 있습니다 :

if a < b < c: 

bac 독점 사이의 경우이 테스트됩니다. 당신이 포함 원하는 경우, 시도 :

if a <= b <= c: 

그래서, 코드에서, 그것은 것 같은 : 또는, 더 간결

if a < read < b: 
    return print("Yes") 
elif b < read < a: 
    return print("Yes") 
else: 
    return print("No") 

:

if (a < read < b) or (b < read < a): 
    return print("Yes") 
else: 
    return print("No") 

참고도 그 print 항상 파이썬에서 None을 반환합니다. 따라서 return print("Yes")return None과 같습니다. 아마도

+1

감사합니다. 뒤늦은 지경에서 나는 이것을 알고 있었음에 틀림 없다. 나는 너무 뇌사 상태 였고 여기에 의지했다고 생각한다. 고마워요! – Dave

관련 문제