如何解决Python 3,将一个函数中的字典值传递给另一个函数
我正在使用PYTHON 3制作一个简单的骰子游戏
- 我想让游戏询问要玩多少个玩家,并且每个玩家从用户输入中获得自己的名字。
- 我希望游戏问每个玩家是否要掷骰子。
现在,我被困在要从player_dict
函数的字典main
到roll_dice
函数的值中。因此,我可以在格式化的字符串中打印出球员姓名的值。
在此先感谢一下,也为英语不好对不起
from random import randint
def main():
player = int(input('How many players> '))
step = 1
player += 1
player_dict = {}
for pl in range(1,player,step):
player_name = input(f'Player {str(pl)} name> ')
player_dict[pl] = player_name
for x in player_dict:
roll_dice()
def roll_dice():
start_rolling = input(f'{} roll dice? y/n> ') # I want to assign player_dict values in the formatted string
if start_rolling == 'y' or start_rolling == 'Y':
roll = randint(1,6)
print(roll)
return roll_dice
main()
解决方法
要在player_dict
函数中获取roll_dice
的值,可以将变量作为参数传递。甚至只传递您要打印的值。
就像这个例子:
from random import randint
def main():
player = int(input('How many players> '))
step = 1
player += 1
player_dict = {}
for pl in range(1,player,step):
player_name = input(f'Player {str(pl)} name> ')
player_dict[pl] = player_name
for x in player_dict:
roll_dice(player_dict[x])
def roll_dice(player_name):
start_rolling = input(f'{player_name} roll dice? y/n> ') # I want to assign player_dict values in the formatted string
if start_rolling == 'y' or start_rolling == 'Y':
roll = randint(1,6)
print(roll)
return roll_dice
main()
,
我决定将参数传递给您的其他函数,并将所有内容嵌套在for循环下,看看。 y / n选项也有改进的空间。但是到目前为止,看起来还不错。
保持它
来自随机进口randint
def main():
player = int(input('How many players> '))
step = 1
player += 1
player_dict = {}
for pl in range(1,step):
player_name = input(f'Player {str(pl)} name> ')
player_dict[pl] = player_name
roll_dice(player_dict)
def roll_dice(players):
for i in range(1,len(players)+1):
start_rolling = input(f'{players[i]} roll dice? y/n> ') # I want to assign player_dict values in the formatted string
if start_rolling == 'y' or start_rolling == 'Y':
roll = randint(1,6)
print(roll)
return roll_dice
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。