2017-10-30 3 views
-1
def main(): 
    num_list = [] 
    n = input('Your favorite number: ') 

    again = 'g' 

    while again == 'g': 
     value = float(input('Enter a number: ')) 
     if value > n: 
      num_list.append(value) 
     print ('Would you like to enter another number?: ') 
     again = input('y=yes, n=no') 
main() 

여기 내 코드가 있습니다. > 작동하지 않습니다. 어떻게해야합니까? 당신이 strfloat 유형을 비교라고 댓글파이썬의 일부 목록에 문제가 있습니다.

+4

당신이 float''로 변환 값 ''에 대한 값을 받고. 왜 너는 'n'과 똑같이하지 않니? – DeepSpace

답변

2

나는 코드 두 가지 문제,

  1. 를 참조하십시오. 파이썬 2에서는 파이썬 3이 아닌 무의미한 대답을 위해 혼합 된 타입을 비교할 수 있습니다.

  2. again 변수와 'g'만 비교하고 있습니다. 그것은 분명히 당신이 원하는 것이 아닙니다. 이 코드를보십시오 :

    def main(): 
        num_list = [] 
        n = input('Your favorite number: ') 
    
        again = 'g' 
        while again in {'g','y'} : 
         value = float(input('Enter a number: ')) 
         if value > float(n): 
          num_list.append(value) 
         print ('Would you like to enter another number?: ') 
         again = input('y=yes, n=no') 
    main() 
    
+0

좋은 점, 어쨌든 관련이 없기 때문에 진술을 제거 할 것입니다. 통찰력을 가져 주셔서 감사합니다! – scharette

+1

@roganjosh 업데이트 답변. – scharette