0

我想在 python 中掷硬币/掷骰子,但我不知道如何在 if 语句中定义/更改变量。

import random
def roll(number):
    if(number==1):
        {print("Take a moment to think that through")}
    if(number==2):
        {b=random.randint(0,1)
        if(b=0):
            {ba=1}
        else:
            {bb=1}
        }

该部分{b=random.randint(0,1)}=红色突出显示并标记为语法错误。我也试过这个:

import random
b=0
def roll(number):
    if(number==1):
        {print("Take a moment to think that through")}
    if(number==2):
        {b+=random.randint(0,1)
        if(b=0):
            {ba=1}
        else:
            {bb=1}
        }

这给出了相同的错误,并且 = 突出显示,而不是 +

在你问之前,函数 roll(number) 在 shell 中被调用。外壳是我的界面。

4

2 回答 2

3
import random
def roll(number):
    if number==1:
        print("Take a moment to think that through")
    if number==2:
        b=random.randint(0,1)
        if b==0:
            ba=1
        else:
            bb=1

Python 不使用花括号,您应该像这样编写代码。此外,您必须在函数中返回一些内容。这就是您可以将函数/变量与其他方法一起使用的方式。

import random
def roll(number):
    if number==1:
        my_string="Take a moment to think that through"
        return my_string
    if number==2:
        b=random.randint(0,1)
        if b==0:
            ba=1
        else:
            bb=1
        return ba,bb

像这样的东西,我不知道你的整个代码。

于 2015-01-03T23:46:21.773 回答
-1

您还应该考虑如果有人进入会发生什么,例如,roll(15)。

import random
def roll(number):
    if number==1:
        print("Take a moment to think that through")
    elif number==2:
        b=random.randint(0,1)
        if b==0:
            ba=1
        else:
            bb=1
    else:
        print("What should happen in this case?") 

另外,@grrr:if b==0

于 2015-01-03T23:52:14.667 回答