首页 > 解决方案 > 为什么我的两个参数的表达式值不正确?

问题描述

我正在为入门级 Python 课程做作业,并且难以理解涉及定义多个参数的函数。

我已经从各种在线资源中尝试了无数次尝试,但没有任何运气。

问题是“写一个函数 typing_speed 的定义,它接收两个参数。第一个是一个人在特定时间间隔内输入的单词数(大于或等于零的 int)。第二个是长度以秒为单位的时间间隔(大于零的整数)。该函数以每分钟的字数(浮点数)返回该人的打字速度。

这是显示不正确表达式的代码。

def typing_speed(num_words,time_interval):
    num_words>=0
    time_interval>0
    result=float((num_words)/(time_interval*60))
    return result

感谢您的任何帮助

标签: pythonfunction

解决方案


两件事:首先,函数中的前两行实际上并没有做任何事情。

num_words>=0
time_interval>0

两者都评估True但未分配给任何东西。如果您希望它们执行输入验证,则必须将它们用作 中的条件if,如下所示:

if num_words >= 0:
    # do what you want
else:
    # the input is wrong. maybe throw an exception or return 0?

有了你真正想做的事情,你就走在了正确的轨道上。但是,您的数学方程式是错误的:您想将秒转换为分钟。一分钟有 60 秒,所以将秒除以 60 即可得到正确的结果;)


推荐阅读