#python #python-3.x
#python #python-3.x
Вопрос:
Я изучаю python. когда я запускаю приведенные ниже примеры кодов в книге, возникает ошибка, даже если код точно такой же, как в книге.
Я пытался найти решение в Google, но для меня не было подсказки.
die.py
from random import randint
class Die():
"""A class representing a single die."""
def __init__(sefl, num_sides=6):
"""Assume a six-sided die."""
self.num_sides = num_sides
def roll(self):
"""Return a random value between 1 and number of sides."""
return randint(1, self.num_sides)
die_visual.py
from die import Die
# Create a D6.
die = Die()
# Make some rolls, and store results in a list.
results = []
for roll_num in range(100):
result = die.roll()
results.append(result)
print(results)
он должен показать мне случайный список игральных кубиков.
Комментарии:
1. Опечатка: вы написали
sefl
вместоself
в своих__init__
параметрах.2. это
sefl
ошибка или ваш фактический код?3. Если это точно так же, как в книге, в вашей книге есть опечатка.
4. Ничего общего с версиями. Это опечатка в любой версии Python.
5. На самом деле это хорошая демонстрация, которая
self
представляет собой соглашение об именовании первого параметра метода в Python, а не принудительную функцию. Вы могли бы использоватьsefl.num_sides = num_sides
, и это сработало бы. (Впрочем, не надо.)