Class TypeError:get_stats()正好接受1个参数(给定0个)
尝试dnd角色创建者:继续获取:TypeError:get_stats()正好接受1个参数(给定0)。我不知道如何满足贝壳的需求 代码如下:Class TypeError:get_stats()正好接受1个参数(给定0个),class,python-2.7,Class,Python 2.7,尝试dnd角色创建者:继续获取:TypeError:get_stats()正好接受1个参数(给定0)。我不知道如何满足贝壳的需求 代码如下: import random class Character(object): def __init__(self,name): self.name = raw_input('name') # Attributes for Pathfinder def get_stats(self):
import random
class Character(object):
def __init__(self,name):
self.name = raw_input('name')
# Attributes for Pathfinder
def get_stats(self):
stats = []
count = 0
while count < 6:
roll = []
roll = [random.randint(1,6) for x in range(4)]
roll = sorted(roll)
del(roll[0])
sum = 0
for x in roll:
sum += x
stats.append(sum)
count += 1
print stats
return stats
stats = get_stats()
ste = stats[0]
con = stats[1]
dex = stats[2]
inte = stats[3]
wis = stats[4]
cha = stats[5]
#Modifiers
stemod = (ste - 10)/2
dexmod = (dex - 10)/2
conmod = (con - 10)/2
intemod = (inte - 10)/2
wismod = (wis - 10)/2
chamod = (cha - 10)/2
#Bios
#Sex
sex = random.randint(1,2)
if sex == 1:
sex = "male"
else:
sex = "female"
#Races and size
#list_of_races
x = random.randint(1,7)
if x == 1:
race = 'drawf'
size = 'med'
con += 2
wis += 2
cha -= 2
elif x == 2:
race = 'elf'
size = 'med'
dex += 2
inte += 2
con -= 2
elif x == 3:
race = 'human'
size = 'med'
bonus = random.randint(1,6)
if bonus == 1:
ste += 2
elif bonus == 2:
con += 2
elif bonus == 3:
dex += 2
elif bonus == 4:
inte += 2
elif bonus == 5:
wis += 2
elif bonus == 6:
cha += 2
elif x == 4:
race = 'halfling'
size = 'small'
dex += 2
cha += 2
ste -= 2
elif x == 5:
race = 'gnome'
size = 'small'
con += 2
cha += 2
ste -= 2
elif x == 6:
race = 'half-elf'
size = 'med'
bonus = random.randint(1,6)
if bonus == 1:
ste += 2
elif bonus == 2:
con += 2
elif bonus == 3:
dex += 2
elif bonus == 4:
inte += 2
elif bonus == 5:
wis += 2
elif bonus == 6:
cha += 2
elif x == 7:
race = 'half-orc'
size = 'med'
bonus = random.randint(1,6)
if bonus == 1:
ste += 2
elif bonus == 2:
con += 2
elif bonus == 3:
dex += 2
elif bonus == 4:
inte += 2
elif bonus == 5:
wis += 2
elif bonus == 6:
cha += 2
#Size pelenties
#Classes
# List of classes(Fighter,Ranger,Wizard,Cleric)
c = random.randint(1,4)
playclass = ''
while playclass == '':
if c == 1 and ste > 10:
playclass = 'Fighter'
hp = 10 + conmod
bab = 1
fort_save = 2 + conmod
reflex_save = 0 + dexmod
will_save = 0 + wismod
elif c == 2:
playclass = 'Ranger'
hp = 10 + conmod
bab = 1
fort_save = 2 + conmod
reflex_save = 2 + dexmod
will_save = 0 + wismod
elif c == 3 and inte > 10:
playclass = 'Wizard'
hp = 6 + conmod
bab = 0
fort_save = 0 + conmod
reflex_save = 0 + dexmod
will_save = 2 + wismod
elif c == 4 and wis > 10:
playclass = 'Cleric'
hp = 8 + conmod
bab = 0
fort_save = 2 + conmod
reflex_save = 0 + dexmod
will_save = 2 + wismod
else:
c = random.randint(1,3)
#AC
ac = 10 + dexmod
if size == 'small':
ac += 1
print sex
print size +" "+race
print 'strenght : ' + str(ste)
print 'constitution : ' + str(con)
print 'dexterity : ' + str(dex)
print 'intelligence : ' + str(inte)
print 'wisdom : ' + str(wis)
print 'charisma : ' + str(cha)
print playclass
print 'HP:' + str(hp)
print 'AC:' + str(ac)
print 'BAB:' + str(bab)
print 'Fort:' + str(fort_save)
print 'Will:' + str(will_save)
print 'Reflex:' + str(reflex_save)
随机导入
类字符(对象):
定义初始化(self,name):
self.name=原始输入(“名称”)
#探路者的属性
def get_统计(自我):
统计数据=[]
计数=0
当计数小于6时:
滚动=[]
roll=[random.randint(1,6)表示范围(4)内的x]
滚动=已分拣(滚动)
删除(滚动[0])
总和=0
对于卷中的x:
总和+=x
stats.append(总和)
计数+=1
打印统计数据
返回数据
stats=get_stats()
ste=stats[0]
con=stats[1]
dex=stats[2]
inte=stats[3]
wis=统计数据[4]
cha=stats[5]
#修饰语
stemod=(ste-10)/2
dexmod=(dex-10)/2
conmod=(con-10)/2
intemod=(inte-10)/2
wismod=(wis-10)/2
chamod=(cha-10)/2
#Bios
#性
性别=随机。随机数(1,2)
如果性别==1:
性别=“男性”
其他:
性别=“女性”
#种族和大小
#比赛列表
x=random.randint(1,7)
如果x==1:
种族='drawf'
大小='med'
con+=2
wis+=2
cha-=2
elif x==2:
种族='elf'
大小='med'
指数+=2
inte+=2
con-=2
elif x==3:
种族=‘人类’
大小='med'
奖金=随机。随机数(1,6)
如果奖金=1:
ste+=2
elif奖金==2:
con+=2
elif奖金==3:
指数+=2
elif奖金==4:
inte+=2
elif奖金==5:
wis+=2
elif奖金==6:
cha+=2
elif x==4:
种族=‘半身人’
大小=‘小’
指数+=2
cha+=2
ste-=2
elif x==5:
种族=‘侏儒’
大小=‘小’
con+=2
cha+=2
ste-=2
elif x==6:
种族=‘半精灵’
大小='med'
奖金=随机。随机数(1,6)
如果奖金=1:
ste+=2
elif奖金==2:
con+=2
elif奖金==3:
指数+=2
elif奖金==4:
inte+=2
elif奖金==5:
wis+=2
elif奖金==6:
cha+=2
elif x==7:
种族=‘半兽人’
大小='med'
奖金=随机。随机数(1,6)
如果奖金=1:
ste+=2
elif奖金==2:
con+=2
elif奖金==3:
指数+=2
elif奖金==4:
inte+=2
elif奖金==5:
wis+=2
elif奖金==6:
cha+=2
#佩伦提斯号
#班级
#职业列表(战士、游骑兵、巫师、牧师)
c=随机随机随机数(1,4)
游戏类=“”
而playclass='':
如果c==1且ste>10:
playclass=‘战斗机’
hp=10+conmod
bab=1
fort_save=2+conmod
反射_保存=0+dexmod
是否保存=0+wismod
elif c==2:
playclass=‘游骑兵’
hp=10+conmod
bab=1
fort_save=2+conmod
反射_保存=2+dexmod
是否保存=0+wismod
elif c==3且inte>10:
playclass='Wizard'
hp=6+conmod
bab=0
fort_save=0+conmod
反射_保存=0+dexmod
将保存=2+wismod
elif c==4且wis>10:
playclass=‘牧师’
hp=8+conmod
bab=0
fort_save=2+conmod
反射_保存=0+dexmod
将保存=2+wismod
其他:
c=随机随机随机数(1,3)
#交流电
ac=10+dexmod
如果大小=‘小’:
ac+=1
印刷性别
打印尺寸+“”+race
打印“强度:”+str(ste)
打印“章程:”+str(con)
打印“灵巧度:”+str(灵巧度)
打印“智能:”+str(智能)
打印“智慧:”+str(wis)
打印“魅力:”+str(cha)
打印游戏类
打印“HP:”+str(HP)
打印“AC:”+str(AC)
打印“BAB:”+str(BAB)
打印“堡垒:”+str(堡垒保存)
打印“将:”+str(将保存)
打印“反射:”+str(反射保存)
在您的get_stats()
函数中,您已将self
放入。但为了填补这一行中的偏执:
stats = get_stats()
你应该在论文中加入None
,以防止出现错误。所以这条线看起来像:
stats = get_stats(None)
为什么要添加
None
?这意味着论文中除了self
之外的内容量为0或None
。我希望这对你有帮助 特定于实例的初始化必须在\uuuu init\uuu
中进行。具体来说,这里的调用不起作用,因为您实际上是在调用Character.get_stats。这就解释了为什么它会立即显示结果,而不是等待我输入一个我从未想到过的输入。