2015-01-03 3 views
-1

파이썬에서 동전 던지기/주사위 굴림을 만들고 싶지만 if 문 내부에서 변수를 정의/변경하는 방법을 알 수 없습니다. 파이썬은 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} 
     } 

을하고 =이 아니라 +

, 강조하고 구하기 전에, 함수 롤 (수) 쉘에 호출된다. 쉘이 제 인터페이스입니다.

+0

그래서 당신은 알고 다음은'{ '와'}'파이썬에서 필요하지 않습니다. – Joel

+0

Python은 블록 들여 쓰기를 사용하여 중괄호가 아닌 범위를 정의합니다. – Hackaholic

답변

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 

파이썬은 당신이 반환에 function.This에 뭔가 다른 방법으로 함수/변수를 사용할 수 있습니다 어떻게해야 this.Also처럼 코드를 작성해야, 중괄호를 사용하지 않습니다.

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 

이런 식으로 전체 코드를 알지 못합니다.

-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

+0

예, 복사 한 OP 코드 만 복사 했으므로주의하지 않아도됩니다. 경고 해 주셔서 감사합니다. –

+1

그래, 문제 없어, 나는 아직도 다른 사람의 게시물에 대해 언급하기 위해 2 명의 담당자를 뽑기 때문에이 방법으로 알려야했다. @grrr – implicati0n

+0

여기에서 나 +10 :-) –