Skip to main content
 首页 » 编程设计

python之编程风格和避免空值

2025年05月04日10小虾米

<分区>

所以我正在研究 Wentworth 等人 How to Think Like a Computer Scientist一本 Python 3 指南,尝试自学更多编程知识。虽然它是一个很棒的资源,但它对使用 Python 3 编写的风格和“最佳实践”却几乎没有提及。

我正在完成有关条件的章节中的一个练习题,要求我编写一个函数,在输入 int 或 float 'mark' 时返回字符串 'grade'。

我在这里的直接问题是关于函数中条件语句的重复以及函数返回的值。是否可以使用循环而不是以某种方式使其更简洁,而不是一遍又一遍地编写 elif 语句?此外,主要的 grade 函数返回一个空的 None 值;我怎样才能使这个函数“富有成效”并且在调用时不打印 None?

这是我写的:

def grade(mark): 
    grds = ['First','Upper Second','Second','Third','F1 Supp.','F2','F3'] 
     
    if mark >= 75.0: 
        print("Your grade is",grds[0]) 
    elif mark < 75.0 and mark >= 70.0: 
        print("Your grade is",grds[1]) 
    elif mark < 70.0 and mark >= 60.0: 
        print("Your grade is",grds[2]) 
    elif mark < 60.0 and mark >= 50.0: 
        print("Your grade is",grds[3]) 
    elif mark < 50.0 and mark >= 45.0: 
        print("Your grade is",grds[4]) 
    elif mark < 45.0 and mark >= 40.0: 
        print("Your grade is",grds[5]) 
    elif mark < 40.0:  
        print("Your grade is",grds[6]) 
 
def finalmark(): 
    mark = float(input("Enter your mark")) 
    fnlmark = grade(mark) 
    return fnlmark 
 
print(finalmark())