擅长:python、mysql、java
<p>我建议使用<a href="https://docs.python.org/2/glossary.html#term-eafp" rel="nofollow">EAFP</a>方法,分别处理好的和坏的输入。你知道吗</p>
<pre><code>score_as_string = input("Please write the score you got on the test, 0-10: ")
try:
score_as_number = float(score_as_string)
except ValueError:
# handle error
else:
print_grade(score_as_number)
def print_grade(score):
"""
Determine the grade from a score
"""
gradeA = "A"
gradeB = "B"
gradeC = "C"
gradeD = "D"
gradeF = "F"
if score >= 9:
print("You did really good, your grade is:", gradeA, ". Congratulations")
elif score >= 7:
print("Your results are good. They earn you a:", gradeB, ". Better luck next time")
elif score >= 5:
print("Not too bad. You got a:", gradeC)
elif score >= 4:
print("That was close...:", gradeD)
elif score < 4:
print("You need to step up and take the test again:", gradeF)
else:
print("Grow up and write your score between 0 and 10")
</code></pre>
<p>请注意,通常您希望从函数返回,而不是在函数中打印。使用函数输出作为print语句的一部分非常详细,函数不必知道这一点。你知道吗</p>