在我的代码中它说x没有定义?

时间:2012-03-06 01:00:34

标签: python

def randomcheetahs():
x = random.randint(1,2)
if x == 1:
    r = 'present'
elif x == 2:
    r = 'absent'
return r

cheetahs = random cheetahs()

它说x == 1: 没有定义。我该如何解决这个问题? 罐

2 个答案:

答案 0 :(得分:3)

可能因为您没有正确使用缩进。 缩进除第一行之外的每一行,包含4个空格。

但是我这里没有编译器所以我无法检查它。

顺便说一下,你的代码可以重写为:

def randomcheetahs(): 
    return 'present' if random.randint(1,2) == 1 else 'absent'

答案 1 :(得分:2)

我猜你的代码可能会像这样缩进

def randomcheetahs():
    x = random.randint(1,2)
if x == 1:
    r = 'present'
elif x == 2:
    r = 'absent'
return r

cheetahs = randomcheetahs()

你需要像这样缩进它。小心不要混合标签和空格。只使用空格

是个好主意
def randomcheetahs():
    x = random.randint(1,2)
    if x == 1:
        r = 'present'
    elif x == 2:
        r = 'absent'
    return r

cheetahs = randomcheetahs()

正如wim所说,你也可以这样做:

def randomcheetahs():
    return random.choice(['present', 'absent'])

但初学者必须了解缩进在Python中的工作原理