2014-06-25 4 views
-5

사용자에게 십진수 등급을 묻는 메시지가 표시되고 답례로 문자 등급이 주어진 간단한 등급 프로그램을 만들려고합니다. 그것은 단지 작동하지 않는 것 같습니다. .9와 같은 숫자를 넣을 때 나에게 B를 준다. 모든 입력에 대해 나에게 B를주고, 1보다 큰 숫자로 테스트하면 나에게 "B A D C"를 준다.내 코드가 Python에서 제대로 실행되지 않습니다.

try : 
grade = raw_input("what is ur grade") 
if grade > .8 < .9 : 
      print "B" 
if grade > .9 < 1.0 : 
      print "A" 
if grade > .6 < .7 : 
      print "D" 
if grade > .7 < .8 : 
    print "C" 
if grade < .6 : 
    print "F" 
except : 
if grade > 1.0 : 
    print "enter numeric value" 

나를 이해 제발 도와주세요 ... 당신의 코드에 대한

+4

우리는 왜 스크린 샷이 원하는 것

을 수행 할 수 있습니다

? 왜 코드를 넣지 않으시겠습니까? 또한 나는 실제로 어떤 스크린 샷을 보지 않는다 ... –

+0

잘못된 결과를 산출하는 실제 특정 코드를 게시해야한다. –

+1

조건과 표현이 모두 잘못되었습니다. ''x < 10 > 3 : ...''은 항상''True''로 평가 될 것입니다. 여기서''if 10

답변

2
from bisect import bisect 
def grade(score, breakpoints=[60, 70, 80, 90], grades='FDCBA'): 
     i = bisect(breakpoints, score) 
     return grades[i] 

while True: 
    try: 
     grad = float(raw_input("what is ur grade")) *100 
     print grade(grad) 
     break 
    except: 
     print 'Enter Correct value' 

explantion : 여기

grade = raw_input("what is ur grade") 

grade 유형은 항상 당신이 float

로 변환 할 필요가 string입니다
if grade > .8 < .9 

내가 생각하는 0.8과 0.9 사이에 등급

if .8<grade<.9: 
+0

나는 그것을 사랑한다! 표준에서 이것을 가로 질러 오지 마라. lib - 꽤 맞는 것 :) –

관련 문제