python初學者關於碰撞的問題

2021-03-04 00:30:57 字數 5475 閱讀 9572

1樓:匿名使用者

#你的catch_water沒用啊

#稍微改了一下 不知道是不是你要的效果

import pygame.sprite

import random

import sys

class doll(pygame.sprite.sprite):

speed_factor = 1

def __init__(self, screen):

super(doll, self).__init__()

self.screen = screen

self.image=pygame.image.load("hand.png")

self.rect=self.image.get_rect()

self.screen_rect=self.screen.get_rect()

self.rect.centerx=self.screen_rect.centerx

self.rect.bottom=self.screen_rect.bottom

self.moving_right=false

self.moving_left=false

def blit_me(self):

self.screen.blit(self.image,self.rect)

def update(self):

if self.moving_right and self.rect.right0:

self.rect.centerx-=doll.speed_factor

class water(pygame.sprite.sprite):

dropspeed=0.1

def __init__(self,screen,random_number):

super(water, self).__init__()

self.screen=screen

self.image=pygame.image.load("drop.png")

self.rect=self.image.get_rect()

self.screen_rect=self.screen.get_rect()

self.rect.centerx=random_number

self.rect.top=0

self.y=float(self.rect.y)

def blit_me(self):

self.screen.blit(self.image,self.rect)

def update(self):

self.y+=water.dropspeed

self.rect.y=self.y

def check_key_down_events(event,doll):

if event.key==pygame.k_right:

doll.moving_right=true

elif event.key==pygame.k_left:

doll.moving_left=true

def check_key_up_events(event,doll):

if event.key==pygame.k_right:

doll.moving_right=false

elif event.key==pygame.k_left:

doll.moving_left=false

def event_check(doll):

for event in pygame.event.get():

if event.type==pygame.quit:

sys.exit()

elif event.type==pygame.keydown:

check_key_down_events(event,doll)

elif event.type==pygame.keyup:

check_key_up_events(event,doll)

def run_game():

pygame.init()

bg_color = (20, 40, 50)

screen = pygame.display.set_mode((1000, 500))

random_number = random.randint(1, 1000)

water=water(screen,random_number)

doll=doll(screen)

while true:

screen.fill(bg_color)

doll.blit_me()

water.blit_me()

pygame.display.flip()

event_check(doll)

doll.update()

water.update()

if pygame.sprite.collide_rect(doll,water) or water.y>500:

random_number = random.randint(1, 1000)

water = water(screen, random_number)

run_game()

python初學者 有問題求回答

2樓:唐志偉

我也剛學到這裡,這裡的迴圈是乙個乙個數字開始的,不是0-9一起開始的。

首先是0,取餘數後為0,直接continue,再加上2,所以第乙個數的結果是2;

然後是1,取餘數後為1,直接列印輸出,結果為1;

按此原理,答案依次為2,1,4,3,6,5,8,7,10,9。

3樓:匿名使用者

for i in range(10):             #i從0-9迴圈

if i%2 != 0:            #如果i對2取餘數不等於0,也就是i對2能不能整除

print(i)        #列印i, 所以結果中1,3,5,7,9是不能整除的

continue        #繼續

i += 2                  #i 自增長2,所以結果中有2,4,6,8,10

print(i)                #列印i

4樓:怨情怨景

range(10)就是從0一直到9,每個數字都分別在這個for...in程式迴圈一遍,你就這樣想,取得數值除以2餘數是不是0,當取0進這個迴圈時,餘數肯定是0,然後觸發continue,接著下面的i += 2,輸出是0+2=2,當你取值為1進入迴圈,餘數肯定不是0,然後就不用continue(不用繼續下一步了),直接輸出i,所以就是1,當你取值為2進入迴圈,餘數肯定是0,所以觸發continue,接著執行i += 2,輸出2+2=4,繼續你取值為3進入迴圈,餘數不是0,所以就不用進行continue後面的i += 2了,直接輸出3,以此類推,後面的自己去帶入迴圈,說的這麼詳細,如果還不明白,別學了兄弟,你不適合計算機語言。

5樓:匿名使用者

不等於0直接輸出,等於0加二

6樓:匿名使用者

for i in range(10):             #i從0-9迴圈,因為這個地方會重新對i賦值

if i%2 != 0:            #如果i對2取餘數不等於0,也就是i對2能不能整除

print(i)        #列印i, 所以結果中1,3,5,7,9是不能整除的

continue        #繼續

i += 2                  #i 自增長2,所以結果中有2,4,6,8,10

print(i)                #列印i

python初學者關於input的問題?

7樓:求你別開腔

userpassword看**的意思bai只能是要求輸du入純數zhi

字,不可以輸入字

dao符串,

由你下面給版出的**可權以看到你在password處輸入ert,返回錯誤:是無法將『ert』 轉換為10進製數字。

這就是是說你得輸入乙個十進位制的數字作為密碼。

如果你想輸入乙個字串作為密碼,請將int(input("enterpassword")) 中'int'去掉

8樓:陽光的雷咩咩

你把執行過程截圖來瞧瞧

9樓:戰鬥機殲

應該用userpassword=int(eval(input("enterpassword")))

因為baipython會自動將

duinput識別為字元zhi串,要用eval()函式將dao字串強轉為數字才行(因

版為int()裡不權能是字串)

10樓:匿名使用者

是的,看了bai你的執行**之後du,發zhi現你輸入的是一dao個字串,無專法轉換為整數。需要

屬python3:userpassword = input("enterpassword")

python2:userpassword = raw_input("enterpassword")

python初學者遇到的弱智問題

11樓:匿名使用者

暈死,這位大俠大俠你把我打敗了。我告訴你怎麼用idle吧:

1、點開idle,在「python shell」視窗的左上角點「file」中點開乙個「new window」,

2、再在新開啟的「new window」視窗的編輯區內編寫**。

3、編寫完後再在新開啟的「new window」視窗左上角點選「save」,再儲存到你要儲存的位置(例:儲存在c盤下)。檔名由你自己定(例:

helloworld.py),這樣檔案就路徑就是c:\helloworld.

py 。這時你可以按」f5「鍵執行

4、再在windows 的開始中執行cmd,再在cmd視窗中輸入pyhon c:\helloworld.py (也可以先輸入cd ..

/.. 回車後再輸入pyhon helloworld.py)。

5、要修改時點開idle,在「python shell」視窗的左上角點「file」中點開乙個「open ..「,找到

c:\helloworld.py 開啟編輯視窗(以視窗名稱helloworld.py c:\ helloworld.py),修改裡面的類容就ok。

這樣你的第

一、二、三問題就不會出現。

第四個問題就是在第2或者第5步開啟的編輯視窗後。關閉「python shell」視窗,再點選你的編輯視窗「run」中的「python shell」,就出現乙個乾淨的python shell介面。

第五個問題,你找乙個有道詞典,乙個個翻譯吧。

python的開發環境很多,我用的有eclipse、wing ide、還有別人推薦的pycharm,都非常不錯。你可以試試!

我說的夠系統吧,快把分給我吧!:)

python初學者的問題求教,python初學者 有問題求回答

def prohibitedcharacter s,c validity c in s return validity def o hird n from future import divisions 0for i in range 1,n 1 s i i s n n n return s pyt...

初學者學python怎麼樣,初學者學Python怎麼樣?

程式語言都是工具,不能只會一種。初學者先學c,再學c 然後python,只要c 精通了,其他不是問題 不好,直接學c c 是電腦界的英語。聽我沒錯 可以,學乙個星期就可以上手做專案了 python資料分析集訓課程針對針對週末時間充裕 零基礎的專科 本科在校生,以及在職 欲轉行從事資料分析的工作人員提...

關於初學者學數控車床的問題數控車床初學者應該怎麼入門?

要知道行行出狀元,我就是乙個例子,現在已做廠子,只要你用心去做,一定會成功,想學好要1 2年.如果在杭州可以到我這裡來學。先做兩年普通車床最好是加工雜件或小批量外加工的,找個好老師傅,不要進大廠。沒人教你去學校學一兩個月程式設計就行了先小廠幹邊做邊學。沒出路,是個餓不死的行業。太多了。信我的沒錯,本...