Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 09.02.2023
Сообщений: 33

TypeError: Ship.__init__() takes 2 positional arguments but 3 were given И ЧЕРНЫЙ ЭКРАН НА ВЫВОДЕ (

16.02.2023, 17:12. Показов 2184. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from settings import Settings
from ship import Ship
import game_functions as gf
 
def run_game():
#Initilizian game and create object of display.
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    
#Create the ship.
    ship = Ship(ai_settings, screen)
 
#Choose main color background.
    bg_color = (0, 0, 255)
 
#Start tne main range of game.
    while True:
        gf.check_events(ship)
        ship.update()
        gf.update_screen(ai_settings, screen, ship)
    
#Monitor display and mouse events.
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
 
#Screen is drawn with each transition of the loop.
                screen.fill(ai_settings.bg_color)
                ship.blitme()
 
 
#Display last drawn screen.
                pygame.display.flip()
         
run_game()
Traceback (most recent call last):
File "C:/Users/Lenovo/Desktop/python/alien_invasion/alien_invasion.py", line 40, in <module>
run_game()
File "C:/Users/Lenovo/Desktop/python/alien_invasion/alien_invasion.py", line 16, in run_game
ship = Ship(ai_settings, screen)
TypeError: Ship.__init__() takes 2 positional arguments but 3 were given
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.02.2023, 17:12
Ответы с готовыми решениями:

TypeError: left_go() takes 2 positional arguments but 3 were given
здравствуйте,пишет ошибку TypeError: left_go() takes 2 positional arguments but 3 were given почему дается 3 аргумента? вот код: ...

Ошибка: TypeError: weather_at_place() takes 2 positional arguments but 3 were given
Traceback (most recent call last): File &quot;C:\py\w2.py&quot;, line 22, in &lt;module&gt; observation = owm.weather_at_place(city, str) ...

solve() takes 0 positional arguments but 3 were given
Есть код: from sympy import * from tkinter import * from tkinter.ttk import Frame, Button, Style import numpy as np from...

9
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
16.02.2023, 17:29
Цитата Сообщение от Uristoshka992 Посмотреть сообщение
ypeError: Ship.__init__() takes 2 positional arguments but 3 were given
вот же все написано

ну и код вы приложили не тот, что в ошибке, где код то класса Ship?
0
290 / 170 / 92
Регистрация: 21.03.2016
Сообщений: 400
16.02.2023, 18:01
Можно гадать, но мне кажется ошибка в 8 строчке.
ai_settings = Settings()
что попадает в переменную ai_settings?
0
0 / 0 / 0
Регистрация: 09.02.2023
Сообщений: 33
17.02.2023, 14:10  [ТС]
Вот код, но адрес ошибка то выдала другого кода-что первый раз выложила или я ошибаюсь?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import pygame
 
class Ship():
 
    def __init__(self, screen):
        """Initialiez the ship and creates its initial position."""
        self.screen = screen
        self.ai_settings = ai_settings
 
        # Load image ship and receiving rectangle.
        self.image = pygame.image.load('ship.bmp')
        self.rect = self.image.get_rect()
        self.screen_rect = screen.get_rect()
        # Each new ship appears at the bottom of the screen.
        self.rect.centerx = self.screen_rect.centerx
        self.rect.bottom = self.screen_rect.bottom
        # Saving the real coordinate of the center of the ship.
        self.center = float(self.rect.centerx)
        # Movement flag.
        self.moving_right = False
        self.moving_left = False
 
    def update(self):
        """ Update position ship based on the flag."""
        # Update atribute center but not rect.
        if self.moving_right and self.rect.right < self.screen_rect.right:
            self.rect.centerx += self.ai_settings.ship_speed_factor
        if self.moving_left and self.rect.left > 0:
            self.rect.centerx -= self.ai_settings.ship_speed_factor
 
        # Update atribute rect based self.center.
        self.rect.centerx = self.center
        
    def blitme(self):
        """Draw the ship in current position."""
        self.screen.blit(self.image, self.rect)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
17.02.2023, 14:17
Цитата Сообщение от Uristoshka992 Посмотреть сообщение
def __init__(self, screen):
ну и? тут ждут на вход только скрин, зачем ты делаешь
Цитата Сообщение от Uristoshka992 Посмотреть сообщение
Ship(ai_settings, screen)
??? ООП, май диар, ду ю лерн ит?
1
0 / 0 / 0
Регистрация: 09.02.2023
Сообщений: 33
17.02.2023, 14:37  [ТС]
Да. Учу по книге. Если вы считаете что не актуально или там устаревшее- то попрошу пару книженций в качестве учебного материала

Добавлено через 6 минут
co screen одним не запускается тоже
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
17.02.2023, 14:39
Uristoshka992, я не знаю по какой, но сомневаюсь что там не рассказано что такое селф и не приведено примеров создания объектов. В данном случае Ship(screen)

Добавлено через 40 секунд
Цитата Сообщение от Uristoshka992 Посмотреть сообщение
co screen одним не запускается тоже
ни слова больше, дай самим подагадываться какие там ошибки)))

Добавлено через 56 секунд
если серьезно то нужен новый, исправленный код и полный текст ошибки. Ну и неплохо прочесть, перевсти ошибку, подумать. В питоне они очень подробные
0
0 / 0 / 0
Регистрация: 09.02.2023
Сообщений: 33
17.02.2023, 14:43  [ТС]
уже переводила и думала сто раз. Ну ок- спасибо за уделенное время
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
17.02.2023, 16:29
Цитата Сообщение от Uristoshka992 Посмотреть сообщение
уже переводила и думала сто раз
что тут думать?
Ship.__init__() принимает 2 позиционных аргумента (def __init__(self, screen) это два) но было задано 3. теперь опустим self и посчитаем без него
ship = Ship(ai_settings, screen) передаем 2 аргумента а класс принимает 1!
class Ship():
def __init__(screen):
это так грубо без self для понмания.
1
0 / 0 / 0
Регистрация: 09.02.2023
Сообщений: 33
17.02.2023, 16:33  [ТС]
спасибо, уже додумалась_) создала новую тему только что - шелл ошибки не выдает , но игруха ничего не делает (( статистическая картинка- может глянете?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2023, 16:33
Помогаю со студенческими работами здесь

TypeError: preveiw_files() takes 1 positional argument but 2 were given
Добрый день. Не так давно начал осваивать Python, в том числе и создание графического интерфейса. Создал следующий код: from tkinter...

TypeError: __getCoordX() takes 1 positional argument but 2 were given
Подскажите, что не так с моим кодом. При его запуске вызывается ошибка : TypeError: __getCoordX() takes 1 positional argument but 2 were...

Ошибка TypeError: Dispatcher.__init__() takes 1 positional argument but 2 were given
Пишу Телеграмм бота на pythone. Выдает ошибку: Traceback (most recent call last): File &quot;C:\Project\pythonProject\main.py&quot;, line...

TypeError: Database () takes no arguments
При добавление дб в код выдает ошибку File &quot;C:\Users\rrarr\PycharmProjects\telegrambot\main.py&quot;, line 16, in &lt;module&gt; db...

TypeError: str() takes at most 3 arguments (5 given)
class FFG: def __init__(self, a): self.a = def make_negative(self): for i in range(len(self.a)): ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru