【发布时间】:2021-12-30 22:50:58
【问题描述】:
为什么我不能打印这个函数的条件结果?为什么我不能返回这个函数的各种结果?我什至无法打印它们。我究竟做错了什么?如何解决?
我没有收到错误,但没有打印任何内容,就好像该功能不可见一样。我也尝试用 island() 回调它,但它不打印
def island():
select_robot_on_her_island = select_war.split('-')[0]
cursor.execute("""
SELECT
CASE WHEN robot_on_her_island = ? THEN 'Last_War_on_her_island'
ELSE 'Last_War_on_island_away'
END AS which_island,
points_war_home, points_war_away
FROM war
WHERE ? IN (robot_on_her_island, robot_on_island_away)
LIMIT 1""",
(select_robot_on_her_island, select_robot_on_her_island))
row = cursor.fetchone()
if row:
which_island, points_home, points_away = row
if which_island == 'Last_War_on_her_island':
return points_home_left = points_home
return points_away_left = points_away
return print("aaaa", which_island, points_home, points_away)
else:
# Swap the points when won on the away island
return points_away_right = points_away
return points_home_right = points_home
return print("bbbb", which_island, points_away, points_home)
【问题讨论】:
-
只要你点击了
return语句,函数就会结束,其他return语句将不会执行。你想在这里做什么?您的return语句是分配。你希望函数返回什么? -
这不能是您的代码。对于那些带有赋值的返回语句,这会出现语法错误。请向我们展示您实际使用的代码。
-
@TimRoberts 根据条件是假还是真,我想返回两件事:points_home_left = points_home 和 points_away_left = points_away,然后我想打印它们只是为了测试。所以我想为 True 获得 2 件东西或为 False 获得 2 件东西
-
@Bobby - 您的代码不是有效的 Python 语法,并且与您引用的代码不同。
-
你为什么不能做
points home_left = points_home;points_away_left = points_away;return points_home_left, points_away_left作为三个单独的行?虽然我不确定我为什么需要分配新变量而不是只返回points_home和points_away,但您更接近代码。
标签: python python-3.x function return