python - (python)具有可变参数的函数
问题描述
如何让以下代码工作,以便分别在玩家分数上执行函数并允许它们累积?(顺便说一句,我对 python 很陌生,所以不要判断)
player_1_score=0
player_2_score=0
def six(score):
print('you rolled a 6')
print('''
-------
| o o |
| o o |
| o o |
------- ''')
score+=6
def five(score):
print('you rolled a 5')
print('''
-------
| o o |
| o |
| o o |
------- ''')
score+=5
#for player1
five(player_1_score)
six(player_1_score)
print('p1 score:',int(player_1_score))
#for player2
five(player_2_score)
six(player_2_score)
print('p2 score:',int(player_1_score))
代码应显示:运行时玩家得分为 11,但改为显示 0。
解决方案
您需要从每个函数返回新分数:
def six(score):
print('you rolled a 6')
print('''
-------
| o o |
| o o |
| o o |
------- ''')
score += 6
return score
但是呼叫站点需要是这样的:
player_1_score = five(player_1_score)
Ned Batchelder的名字的强制性链接。
推荐阅读
- vue.js - vue.js 有条件地导入 mixin
- c - 将 uint16_t 转换为 unsigned int
- linux - 如何将我的程序的菜单栏注册到 KDE Plasma 的全局菜单小部件?
- jquery - Kendo Grid MVC 内联编辑基于其他下拉列表自动选择下拉列表值
- python - 仅使用 cmd 安装 Python 并自动添加到路径
- settings - 反应本国/地区
- python - 条形图轴标签字体大小和间距
- java - 在 JSP 中的 <% %> 代码片段中添加链接
- javascript - 使用 Web 音频 API createScriptProcessor 创建高通
- ibm-watson - Watson Studio 解决方案失败未知