python - 5.3.2:表达式Python中的函数调用
问题描述
这是提示:
用 num_a 和 num_b 中的较大者分配 max_sum,加上 num_y 和 num_z 中的较大者。只使用一个语句。提示:在一个表达式中调用 find_max() 两次。
这是我的代码:
def find_max(num_1, num_2):
max_val = 0.0
if (num_1 > num_2): # if num1 is greater than num2,
max_val = num_1 # then num1 is the maxVal.
else: # Otherwise,
max_val = num_2 # num2 is the maxVal
return max_val
max_sum = 0.0
num_a = float(input())
num_b = float(input())
num_y = float(input())
num_z = float(input())
def find_max(num_a, num_b):
max_val = 0.0
if (num_a > num_b):
max_val = num_a
else:
max_val = num_b
def find_max(num_y, num_z):
max_val = 0.0
if (num_y > num_z):
max_val = num_y
else:
max_val = num_z
print('max_sum is:', max_sum)
不知道我做错了什么。我也试过这个
def find_max(num_a, num_b):
max_1 = 0.0
if (num_a > num_b):
max_1 = num_a
else:
max_1 = num_b
def find_max(num_y, num_z):
max_2 = 0.0
if (num_y > num_z):
max_2 = num_y
else:
max_2 = num_z
max_sum = (max_1 + max_2)
这给了我一条错误消息,即“max_1 未定义”,即使我已经定义了它。第一个代码只给了我一个 0.0 的输出。
有小费吗?谢谢!
解决方案
我不明白为什么你两次定义find_max
函数,你甚至没有调用函数find_max()
,最好使用 python 的内置max
函数,你也可以使用 f-strings
只需使用:
num_input = 4
num_a, num_b, num_y, num_z = [float(input()) for _ in range(num_input)]
max_sum = max(num_a, num_b) + max(num_y, num_z)
print(f"max_sum is: {max_sum}")
推荐阅读
- api - 从 Blazor WASM 获取到 dotnet franework Web API 的请求没有响应
- django - 将新应用程序添加到设置后,Django 服务器停止运行
- python - 如何使用 FASTApi 对 PostgreSQL 表进行 orderby 查询?
- javascript - 变量没有得到分配给它的信息
- javascript - 试图在 JavaScript 中使用 null 合并而简洁,而不是弄清楚它
- wordpress - (Wordpress) 分类文章目录
- python-3.x - Wrapper/decorator - 获取它执行的方法的变量的值
- android - 如何在 AlertDialog 中的 positiveButton 上设置 OnClickListener?
- python - 添加自定义 lambda 层在调用 AWS S3 时导致 SSL 授权错误
- apache - Xdebug does not generate the log file