在函数dice result中,三个打印分别得到一个数字。我怎么把它们加起来?而不是像我现在这样,加上另外三个随机数

2024-04-19 09:23:01 发布

您现在位置:Python中文网/ 问答频道 /正文

所以, 我要创建一个骰子掷骰机,需要3个兰丁,将它们相加。现在我正在努力弄清楚,在函数diceresult中,如何在我的指纹之外没有3个新的randint。。。请

from random import randint

def head():
    '''
    Huvudfunktion
    '''
    welcome()
    name = get_name()
    guess = instruction()
    dice()
    result = diceresult()
    print("Tärningarnas totala summa är: " + str(result))
    print("Du gissade på: " + str(guess))
    diff(guess, result)
    goodbye(name)

def welcome():
    '''
    Välkomnar användaren
    '''
    print("*"*45)
    print("  Hej och välkommen till mitt tärningsspel!")
    print("*"*45)

def get_name():
    '''
    Hämtar användarens namn
    '''
    name = input("Vem är det som vill spela? ")
    print("Hej " + str(name) + ", vad roligt att du vill vara med och spela!")
    return name

def instruction():
    '''
    Förklarar hur spelet funkar och ber om gissad summa
    '''
    guess = int(input("Vi kommer nu att slå 3 stycken tärningar, vad tror du summan av tärningarna blir? "))
    return guess

def dice():
    '''
    Genererar ett tärningskast
    '''
    return randint(1, 6)

def diceresult():
    '''
    Visar resultatet av tärningskasten och lägger ihop summan
    '''
    dice()
    print ("Tärning 1 visar: " + str(dice()))
    print ("Tärning 2 visar: " + str(dice()))
    print ("Tärning 3 visar: " + str(dice()))
    print("-"*45)
    result = dice() + dice() + dice() 
    return result

def diff(guess, result):
    '''
    Räknar skillnad mellan gissningen och resultatet
    '''
    final = abs(guess-result)
    print("Skillnaden mellan din gissning och resultatet: " + str(final))

def goodbye(name):
    '''
    Tackar användaren för medverkan och önskar lycka till
    '''
    print("Hur nära var du? Hoppas det gick bra!")
    print("-"*45)
    print("Tack " + str(name) + ", för att du var med och spela! Och lycka till nästa försök!")


head()

Tags: namereturndefresultdiceprintrandintdu
1条回答
网友
1楼 · 发布于 2024-04-19 09:23:01

在函数diceresults中,无论何时调用dice函数,都会生成新的随机数。你应该把它们保存在某个地方以恢复它们

def diceresult():
    '''
    Visar resultatet av tärningskasten och lägger ihop summan
    '''
    n1 = dice()
    n2 = dice()
    n3 = dice()
    print ("Tärning 1 visar: " + str(n1))
    print ("Tärning 2 visar: " + str(n2))
    print ("Tärning 3 visar: " + str(n3))
    print("-"*45)
    result = n1+n2+n3
    return result

相关问题 更多 >