Как исправить проблему, когда определение пользователя идет не так - PullRequest
0 голосов
/ 19 октября 2019

Я совершенно новичок в программировании, теперь я борюсь за небольшую программу, где "класс" не будет определен. Спасибо

Я попытался вернуть оценку, но она все равно не будет работать

def computegrade(score,grade):
     try:
        if score >1.0001:
            grade= print("invalid score")
        elif score < -0.0001:
            grade= print("invalid score")
        elif score >= 0.9:
            grade= print("A")
        elif score >= 0.8:
            grade= print("B")
        elif score >= 0.7:
            grade= print("C")
        elif score >= 0.6:
            grade= print("D")
        elif score < 0.6:
            grade= print("F")
    except:
        print("Invalid")
    return grade

score=input("Enter your Score(between 0.0-1.0)\n")
grade=computegrade(score,grade)

Пожалуйста, исправьте проблему, что «оценка» определена правильно. Спасибо :) Когда вы вводите, например, 0,7, он говорит:оценка = computegrade (оценка, оценка) NameError: имя 'оценка' не определено

1 Ответ

0 голосов
/ 19 октября 2019
  1. Вы можете присвоить print () переменной, но это странно.
  2. В последней строке вы используете пустую (еще не определенную) переменную "grade"
  3. Вам на самом деле не нужна переменная grade computegrade(score, grade), вы можете объявить ее вне
  4. Вам также нужно преобразовать входную переменную (по умолчанию независимо от того, что вы вводите здесь, является строкой) в целое или с плавающей точкой, как в этомcase (int -> 1 - 5 - 9 - 0, float -> 1.5 - 2.58 - 3.9)

Это должно работать:

def compute_grade(score):
    grade = ""
    try:
        if score >1.0001:
            grade= "invalid score"
        elif score < -0.0001:
            grade= "invalid score"
        elif score >= 0.9:
            grade= "A"
        elif score >= 0.8:
            grade= "B"
        elif score >= 0.7:
            grade= "C"
        elif score >= 0.6:
            grade= "D"
        elif score < 0.6:
            grade= "F"
    except:
        print("Invalid")
    return grade

score = float(input("Enter your Score (between 0.0-1.0)\n"))
grade = compute_grade(score)
print (grade)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...