LeonardCohenX 发表于 2021-9-15 19:14:54

有个小问题,显示roll()出错???

文件die.py

from random import randint
class Die():
    def _init_(self,num_sides=6):
      """骰子默认为6面"""
      self.num_sides = num_sides
      def roll(self):
            """返回一个位于1和骰子面数之间的随机值"""
            return randint(1,self.num_sides)
            
文件die_visual.py
from die import Die
#!创建一个D6
die = Die()
#! 掷几次骰子,并将结果存储在一个列表中
results = []
for roll_num in range(100):
    result = die.roll()            但是最后却显示这一行错误,到底为什么???????、
    results.append(result)
print(results)


傻眼貓咪 发表于 2021-9-15 19:48:31

本帖最后由 傻眼貓咪 于 2021-9-15 19:51 编辑

1. 文件 die.py 裡 __init__ (是雙底線 __不是單底線_)
2. 文件 die_visual.py 裡,變量盡量不要用和導入模組同名 die = Die(),試試其它名比如:p = Die()

小小提示:die 是死亡,dice 才是 骰子

LeonardCohenX 发表于 2021-9-16 08:16:07

傻眼貓咪 发表于 2021-9-15 19:48
1. 文件 die.py 裡 __init__ (是雙底線 __不是單底線_)
2. 文件 die_visual.py 裡,變量盡量不要用和導 ...

越,针布戳啊你{:10_325:}

LeonardCohenX 发表于 2021-9-16 08:18:08

LeonardCohenX 发表于 2021-9-16 08:16
越,针布戳啊你

你还让咱看繁体字{:10_247:}

LeonardCohenX 发表于 2021-9-16 08:31:13

本帖最后由 LeonardCohenX 于 2021-9-16 08:37 编辑

傻眼貓咪 发表于 2021-9-15 19:48
1. 文件 die.py 裡 __init__ (是雙底線 __不是單底線_)
2. 文件 die_visual.py 裡,變量盡量不要用和導 ...

Twilight6 发表于 2021-9-16 10:40:31



错误1 : die.py 中代码错误, __init__ 构造函数,前后下划线少了一个

错误2 : die.py 中代码错误, 你的 roll 方法应该是定义在类下的,而不是在 __init__ 内的

参考代码:

# 文件 die.py
from random import randint

class Die():
    def __init__(self, num_sides=6):
      """骰子默认为6面"""
      self.num_sides = num_sides

    def roll(self):
      """返回一个位于1和骰子面数之间的随机值"""
      return randint(1, self.num_sides)

傻眼貓咪 发表于 2021-9-16 11:26:12

LeonardCohenX 发表于 2021-9-16 08:18
你还让咱看繁体字

{:5_109:}我平常是用簡體字的,想說繁體字看起來比較好看,所以就用用看,懶惰換了{:5_109:}
页: [1]
查看完整版本: 有个小问题,显示roll()出错???