第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python/pygame 中的類型錯誤 - 浮點數(shù)而不是整數(shù)

python/pygame 中的類型錯誤 - 浮點數(shù)而不是整數(shù)

呼啦一陣風(fēng) 2023-09-19 17:02:54
我在 python 和 pygame 中有一個小程序,但是當(dāng)我運行它時,出現(xiàn)以下錯誤:pygame 1.9.6Hello from the pygame community. https://www.pygame.org/contribute.htmlTraceback (most recent call last):  File "main.py", line 31, in <module>    main()  File "main.py", line 25, in main    board.draw(WIN)  File "/home/ether/Desktop/checkersai/checker/board.py", line 42, in draw    piece.draw(win)  File "/home/ether/Desktop/checkersai/checker/piece.py", line 32, in draw    pygame.draw.circle(win, GREY, (self.x, self.y), radius + self.OUTLINE)TypeError: integer argument expected, got float這是錯誤所在的函數(shù):def draw(self, win):        radius = SQUARE_SIZE//2 - self.PADDING        pygame.draw.circle(win, GREY, (self.x, self.y), radius + self.OUTLINE)        pygame.draw.circle(win, self.color, (self.x, self.y), radius)這些是我使用的變量:WIDTH, HEIGHT = 800,800ROWS, COLS = 8,8SQUARE_SIZE = WIDTH/COLS所以我不知道如何得到這個錯誤,也不知道我需要從哪里開始尋找錯誤。這是我的項目的完整代碼 https://pastebin.ubuntu.com/p/DHcRNT6948/
查看完整描述

1 回答

?
猛跑小豬

TA貢獻1858條經(jīng)驗 獲得超8個贊

即使您//在設(shè)置時使用了整數(shù)除法運算符()radius = SQUARE_SIZE//2 - self.PADDING,它也會返回一個浮點數(shù);該運算符通常會返回一個 int,但如果您要除以一個 float,它仍然會返回一個 float。在你的例子中,你要除以一個浮點數(shù),SQUARE_SIZE. 它是浮點數(shù),因為SQUARE_SIZE = WIDTH/COLS使用常規(guī)除法運算符 ( /),它始終返回浮點數(shù)。

要解決您的問題,請執(zhí)行以下操作:

SQUARE_SIZE = WIDTH//COLS  # SQUARE_SIZE is an int now

然而,數(shù)學(xué)上更準(zhǔn)確的方法是使用浮點數(shù),并僅在最后一刻舍入并轉(zhuǎn)換為 int:

radius = int(round((WIDTH/COLS) / 2.0 - self.PADDING))


查看完整回答
反對 回復(fù) 2023-09-19
  • 1 回答
  • 0 關(guān)注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號