DeprecationWarning: an integer is required (got type float).

5958 ワード

清華大学出版社が出版した「Pythonプログラミング」第12章第1節には、グラフィックインタフェースを表示するhello worldの例コードがある.

```python
import pygame
from pygame.locals import *
from sys import exit#   

background_image=r"C:\Users\11239\Pictures\ppt\ac6eddc451da81cbb78c88865f66d01609243116 (2).jpg"
mouse_image=r"C:\Users\11239\Pictures\ppt\timg (2).jpg"

pygame.init()#   pygame
screen=pygame.display.set_mode((640,480),0,32)#    
pygame.display.set_caption("hello world")#      
background=pygame.image.load(background_image).convert()#       
mouse_cursor=pygame.image.load(mouse_image).convert_alpha()

while True:
    for event in pygame.event.get():
        if event.type==QUIT:
            exit()
    screen.blit(background,(0,0))

x,y=pygame.mouse.get_pos()
x-=mouse_cursor.get_width()/2
y-=mouse_cursor.get_height()/2
screen.blit(mouse_cursor,(x,y))
pygame.display.update()

(注釈の一部を省略する)実行後のヒントを発見する:DepresationWarning:an integer is required(got type float).Implicit conversion to integers using int is deprecated, and may be removed in a future version of Python. screen.blit(mouse_cursor、(x,y))情報を表示し、整数が必要であることを発見したので、xとyを整数に変換すればよい.すなわち、最後から2行目のコードを次のように変更する.
screen.blit(mouse_cursor,(int(x),int(y)))

変更を行わないと、プログラムは正常に実行されますが、ヒントから見ると、以降のバージョンではこのような状況がプログラムの実行に影響を与える可能性があります.