![](/img/trans.png)
[英]How do I filter out random sample from dataframe in which there are different sample size for each value, in python?
[英]After running this code it spits out the same value for both dice, how can I fix the random value to be different each time?
class Die:
def __init__ (self, face, face_value):
self.face = face
self.face_value = face_value
def roll(self):
return print(self.face)
我稍后導入這個 class 因為我將它們放在兩個不同的文件中。
import random
from DieClass import Die
num = random.randint(1,6)
if num == 1:
face = ( ' ------\n| |\n| o |\n| |\n ------')
elif num == 2:
face = (' ------\n| |\n| o o |\n| |\n ------')
elif num == 3:
face = (' ------\n| o |\n| o |\n| o |\n ------')
elif num == 4:
face = (' ------\n| o o |\n| o o |\n| |\n ------')
elif num == 5:
face = (' ------\n| o o |\n| o o |\n| o |\n ------')
elif num == 6:
face = (' ------\n| o o |\n| o o |\n| o o |\n ------' )
這是我的面部變量。 我如何讓它們每次隨機?
class Dicegame(Die):
def __init__ (self, name):
self.name = name
def play(self):
Die1 = Die(face, num)
return Die1.roll()
在這里,我稱我為 class。
Dice1 = Dicegame('name')
Dice1.play()
Dice2 = Dicegame('bob')
Dice2.play()
你不是在擲骰子。 像這樣改變你的模具 class。
class Die:
def __init__ (self, face, face_value):
self.face = face
self.face_value = face_value
def roll(self):
self.face = random.randint(1, 6)
return print(self.face)
我還重構了整個代碼。 它工作兩次。 相應地改變。
import random
class Die:
def __init__ (self, face_value):
self.face_value = face_value
def roll(self):
self.face_value = random.randint(1, 6)
return self.face_value
class Dicegame(Die):
def __init__ (self, name):
self.name = name
def play(self, num):
Die1 = Die(num)
return Die1.roll()
def print_state(name, num):
face = ''
if num == 1:
face = ( ' ------\n| |\n| o |\n| |\n ------')
elif num == 2:
face = (' ------\n| |\n| o o |\n| |\n ------')
elif num == 3:
face = (' ------\n| o |\n| o |\n| o |\n ------')
elif num == 4:
face = (' ------\n| o o |\n| o o |\n| |\n ------')
elif num == 5:
face = (' ------\n| o o |\n| o o |\n| o |\n ------')
elif num == 6:
face = (' ------\n| o o |\n| o o |\n| o o |\n ------' )
else:
face = ''
print(name)
print(face)
num1 = random.randint(1, 6)
num2 = random.randint(1, 6)
Dice1 = Dicegame('name')
print_state('name', num1)
new_state1 = Dice1.play(num1)
Dice2 = Dicegame('bob')
print_state('bob', num2)
new_state2 = Dice2.play(num2)
print_state('name', new_state1)
print_state('bob', new_state2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.