成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python學(xué)習(xí)之路13-記分

tommego / 553人閱讀

摘要:之所以這里要添加這四行代碼,其實(shí)是為了當(dāng)你重新開(kāi)始也就是第二次及以后點(diǎn)擊按鈕游戲時(shí),計(jì)分板能正確顯示。當(dāng)?shù)谝贿\(yùn)行游戲時(shí),沒(méi)有這四行也能正確顯示計(jì)分板。

《Python編程:從入門到實(shí)踐》筆記。
本篇是Python小游戲《外星人入侵》的最后一篇。
1. 前言

本篇我們將結(jié)束Pygame小游戲《外星人入侵》的開(kāi)發(fā)。在本篇中,我們將添加如下內(nèi)容:

添加一個(gè)Play按鈕,用于根據(jù)需要啟動(dòng)游戲以及在游戲結(jié)束后重啟游戲;

使玩家能提高等級(jí),并在提高等級(jí)時(shí)加快節(jié)奏;

添加一個(gè)記分系統(tǒng)

2. 添加Play按鈕

首先為了通過(guò)點(diǎn)擊Play按鈕來(lái)開(kāi)始游戲,需要在GameStats類的構(gòu)造函數(shù)中將self.game_active設(shè)置為False。

2.1 Button類

為了添加Play按鈕,我們需要先添加一個(gè)Button類。將這個(gè)類放在button.py模塊中:

import pygame

class Button:
    def __init__(self, ai_settings, screen, msg):
        """初始化按鈕屬性"""
        self.screen = screen
        self.screen_rect = screen.get_rect()

        # 設(shè)置按鈕尺寸和其他屬性
        self.width, self.height = 200, 50   # 解包,平行賦值
        self.button_color = (0, 255, 0)
        self.text_color = (255, 255, 255)
        self.font = pygame.font.SysFont(None, 48)

        # 創(chuàng)建按鈕的rect對(duì)象,并使其居中
        self.rect = pygame.Rect(0, 0, self.width, self.height)
        self.rect.center = self.screen_rect.center

        # 按鈕的標(biāo)簽只需創(chuàng)建一次
        self.prep_msg(msg)

    def prep_msg(self, msg):
        """將msg渲染為圖像,并使其在按鈕上居中"""
        self.msg_image = self.font.render(msg, True, self.text_color, self.button_color)
        self.msg_image_rect = self.msg_image.get_rect()
        self.msg_image_rect.center = self.rect.center

    def draw_button(self):
        # 繪制一個(gè)用顏色填充的按鈕,再繪制文本
        self.screen.fill(self.button_color, self.rect)
        self.screen.blit(self.msg_image, self.msg_image_rect)

pygame將字符串渲染為圖像來(lái)處理文本,通過(guò)pygame.fontrender()方法來(lái)渲染文字,它的第一個(gè)參數(shù)是要渲染的字符串,第二個(gè)是抗鋸齒設(shè)定(打游戲的老鐵應(yīng)該對(duì)這個(gè)詞很熟悉~~),第三個(gè)是字體顏色,第四個(gè)是背景顏色,第四個(gè)參數(shù)如果不設(shè)定,將以透明背景的方式渲染文本。最后通過(guò)draw_button()方法在窗體中繪制Play按鈕。

2.2 修改alien_invasion.py

在主程序中實(shí)例化一個(gè)Play按鈕,并添加它的響應(yīng)事件,以及將其畫出。

-- snip --
from button import Button
-- snip --

def run_game():
    -- snip --
    pygame.display.set_caption("Alien Invasion")

    # 創(chuàng)建Play按鈕
    play_button = Button(ai_settings, screen, "Play")
    
    -- snip --
    # 開(kāi)始游戲的主循環(huán)
    while True:
        # 增加了參數(shù),為按鈕添加響應(yīng)事件
        gf.check_events(ai_settings, screen, ship, bullets, stats, play_button, aliens)
        -- snip --
        # 增加了參數(shù),在窗體中畫出按鈕
        gf.update_screen(ai_settings, screen, ship, bullets, aliens, stats, play_button)

run_game()

注意,不光新增了實(shí)例化按鈕的代碼,還修改了update_screen()check_events()函數(shù)。

2.3 修改game_functions.py

修改update_screen()函數(shù):在窗體中畫出Play按鈕

# 增加了參數(shù),記得修改主程序
def update_screen(ai_settings, screen, ship, bullets, aliens, stats, play_button):
    -- snip --
    # 如果游戲沒(méi)啟動(dòng),則顯示Play按鈕
    if not stats.game_active:
        play_button.draw_button()

    # 讓最近繪制的屏幕可見(jiàn)
    pygame.display.flip()

修改check_events()函數(shù):為Play按鈕添加響應(yīng)事件

# 增加了參數(shù),記得修改主程序
def check_events(ai_settings, screen, ship, bullets, stats, play_button, aliens):
    for event in pygame.event.get():
        -- snip --
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_x, mouse_y = pygame.mouse.get_pos()
            check_play_button(stats, play_button, mouse_x, mouse_y, ai_settings,
                              screen, ship, aliens, bullets)

pygame.MOUSEBUTTONDOWN表示鼠標(biāo)按下事件;通過(guò)pygame.mouseget_pos()來(lái)獲得鼠標(biāo)點(diǎn)擊處的坐標(biāo);最后,通過(guò)check_play_button()函數(shù)來(lái)響應(yīng)鼠標(biāo)點(diǎn)擊事件,該函數(shù)的內(nèi)容如下:

新增check_play_button()函數(shù):處理鼠標(biāo)點(diǎn)擊事件

def check_play_button(stats, play_button, mouse_x, mouse_y, ai_settings, screen,
                      ship, aliens, bullets):
    """在玩家單機(jī)Play按鈕時(shí)開(kāi)始新游戲"""
    if play_button.rect.collidepoint(mouse_x, mouse_y) and not stats.game_active:
        # 隱藏光標(biāo)
        pygame.mouse.set_visible(False)
        # 重置游戲統(tǒng)計(jì)信息
        stats.reset_stats()
        stats.game_active = True

        # 清空外星人列表和子彈列表
        aliens.empty()
        bullets.empty()

        # 創(chuàng)建一群新的外星人,并讓飛船居中
        create_fleet(ai_settings, screen, ship, aliens)
        ship.center_ship()

通過(guò)play_button.rectcollidepoint()方法來(lái)確定鼠標(biāo)是否點(diǎn)擊到了button,如果點(diǎn)擊到了,并且當(dāng)前游戲是“非啟動(dòng)”狀態(tài),則啟動(dòng)或者重置游戲;

如果不對(duì)stats.game_active進(jìn)行確認(rèn),則在游戲中,即使Play按鈕消失了,鼠標(biāo)點(diǎn)擊它原來(lái)所在的地方,也會(huì)重置游戲。

在游戲中,為了避免光標(biāo)的影響,游戲時(shí)我們通過(guò)pygame.mouseset_visible()方法將其隱藏;游戲結(jié)束時(shí),重新顯示光標(biāo),為此,需要修改ship_hit()函數(shù)

def ship_hit(ai_settings, stats, screen, ship, aliens, bullets):
    -- snip --
    else:
        -- snip --
        pygame.mouse.set_visible(True)

最后,程序的效果如下:

3. 游戲提速

每當(dāng)消滅一批艦隊(duì)后,我們就為游戲里的元素提個(gè)速,為此,需要修改settings.pygame_functions.py模塊。

3.1 修改settings.py

添加一個(gè)提速倍率參數(shù),并增加兩個(gè)方法:

class Settings:
    def __init__(self):
        -- snip --
        # 以什么樣的速度提節(jié)奏
        self.speedup_scale = 1.1
        # 前面有四個(gè)屬性放到了該方法中
        self.initialize_dynamic_settings()

    def initialize_dynamic_settings(self):
        """初始化隨游戲進(jìn)行而變化的設(shè)置"""
        self.ship_speed_factor = 1.5
        self.bullet_speed_factor = 3
        self.alien_speed_factor = 1

        # 外星艦隊(duì)方向標(biāo)志:1向右,-1向左
        self.fleet_direction = 1

    def increase_speed(self):
        """提高速度"""
        self.ship_speed_factor *= self.speedup_scale
        self.bullet_speed_factor *= self.speedup_scale
        self.alien_speed_factor *= self.speedup_scale

我們將需要修改的四個(gè)參數(shù)放到了initialize_dynamic_settings()方法中,increase_speed()方法用于動(dòng)態(tài)改變游戲參數(shù)。

3.2 修改game_functions.py

每消滅一批外星艦隊(duì),就對(duì)游戲提速,需要修改check_bullet_alien_collisions()函數(shù)

def check_bullet_alien_collisions(ai_settings, screen, ship, aliens, bullets):
    -- snip --
    if len(aliens) == 0:
        -- snip --
        ai_settings.increase_speed()
        -- snip --

當(dāng)重新開(kāi)始游戲時(shí),需要將這些被修改了的參數(shù)改回默認(rèn)值,為此,需要修改check_play_button()函數(shù)

def check_play_button(stats, play_button, mouse_x, mouse_y, ai_settings, screen,
                      ship, aliens, bullets):
    if play_button.rect.collidepoint(mouse_x,
                                     mouse_y) and not stats.game_active:
        # 重置游戲設(shè)置
        ai_settings.initialize_dynamic_settings()
        -- snip --
4. 記分板

下面我們將實(shí)現(xiàn)一個(gè)記分系統(tǒng),實(shí)時(shí)跟蹤玩家的得分,并顯示最高得分,當(dāng)前等級(jí)和余下的飛船數(shù)。首先,我們需要?jiǎng)?chuàng)建一個(gè)Scoreboard類。

4.1 新增scoreboard.py

新增一個(gè)Scoreboard類,用作屏幕中的記分板,它的屏幕正中央上方部分是最高分?jǐn)?shù),屏幕右邊是當(dāng)前分?jǐn)?shù)和等級(jí),左上角是剩余的飛船數(shù)量,飛船數(shù)量用圖片表示,因此,我們還要將Ship類更改為從Sprite繼承。

import pygame
from pygame.sprite import Group
from ship import Ship

class Scoreboard:
    """顯示得分信息的類"""
    def __init__(self, ai_settings, screen, stats):
        """初始化顯示得分涉及的屬性"""
        self.screen = screen
        self.screen_rect = screen.get_rect()
        self.ai_settings = ai_settings
        self.stats = stats

        # 顯示得分信息時(shí)使用的字體設(shè)置
        self.text_color = (30, 30, 30)
        self.font = pygame.font.SysFont(None, 48)

        # 生成當(dāng)前得分、最高得分、當(dāng)前等級(jí)和當(dāng)前剩余的飛船數(shù)
        self.prep_score()
        self.prep_high_score()
        self.prep_level()
        self.prep_ships()

    def prep_score(self):
        """將得分轉(zhuǎn)換為圖片"""
        rounded_score = round(self.stats.score, -1)
        # 在得分中插入逗號(hào)
        score_str = "{:,}".format(rounded_score)
        self.score_image = self.font.render(score_str, True, self.text_color,
                                            self.ai_settings.bg_color)

        # 將得分放在屏幕右上角
        self.score_rect = self.score_image.get_rect()
        self.score_rect.right = self.screen_rect.right - 20
        self.score_rect.top = 20

    def prep_high_score(self):
        """將最高得分轉(zhuǎn)化為圖像"""
        high_score = round(self.stats.high_score, -1)
        high_score_str = "{:,}".format(high_score)
        self.high_score_image = self.font.render(high_score_str, True, self.text_color,
                                                 self.ai_settings.bg_color)

        # 將最高得分放在屏幕頂部中央
        self.high_score_rect = self.high_score_image.get_rect()
        self.high_score_rect.centerx = self.screen_rect.centerx
        self.high_score_rect.top = self.score_rect.top

    def prep_level(self):
        """將等級(jí)轉(zhuǎn)化為圖像"""
        self.level_image = self.font.render(str(self.stats.level), True, self.text_color,
                                            self.ai_settings.bg_color)

        # 將等級(jí)放在得分下方
        self.level_rect = self.level_image.get_rect()
        self.level_rect.right = self.score_rect.right
        self.level_rect.top = self.score_rect.bottom + 10

    def prep_ships(self):
        """顯示還余下多少艘飛船"""
        self.ships = Group()
        for ship_number in range(self.stats.ships_left):
            ship = Ship(self.ai_settings, self.screen)
            ship.rect.x = 10 + ship_number * ship.rect.width
            ship.rect.y = 10
            self.ships.add(ship)

    def show_score(self):
        """在屏幕上顯示得分板"""
        self.screen.blit(self.score_image, self.score_rect)
        self.screen.blit(self.high_score_image, self.high_score_rect)
        self.screen.blit(self.level_image, self.level_rect)
        # 繪制飛船
        self.ships.draw(self.screen)
4.2 修改settings.py

設(shè)置外星人的分?jǐn)?shù),外星人分?jǐn)?shù)增長(zhǎng)的速度:

class Settings:
    def __init__(self):
        -- snip --
        # 外星人點(diǎn)數(shù)的提高速度
        self.score_scale = 1.5

        self.initialize_dynamic_settings()

    def initialize_dynamic_settings(self):
        -- snip --
        # 記分, 每一個(gè)外星人的分?jǐn)?shù)
        self.alien_points = 50

    def increase_speed(self):
        -- snip --
        # 動(dòng)態(tài)增加每個(gè)外星人的分?jǐn)?shù)
        self.alien_points = int(self.alien_points * self.score_scale)
4.3 修改game_stats.py

GameStats中設(shè)置一個(gè)用于記錄最高分的屬性,也正因此,應(yīng)該將它放在構(gòu)造函數(shù)中,它只會(huì)變大,在沒(méi)有重新運(yùn)行游戲前,它不會(huì)被重置為0;在reset_stats()方法中,初始化scorelevel兩個(gè)屬性,這兩個(gè)屬性每點(diǎn)一次Play按鈕都會(huì)被重置。對(duì)于level這個(gè)屬性,每消滅一批艦隊(duì),level就加1.

class GameStats:
    def __init__(self, ai_settings):
        -- snip --
        # 在任何情況下都不應(yīng)重置最高得分
        self.high_score = 0

    def reset_stats(self):
        -- snip --
        self.score = 0
        self.level = 1
4.4 修改主程序alien_invasion.py
-- snip --
from scoreboard import Scoreboard

def run_game():
    -- snip --
    # 創(chuàng)建計(jì)分板
    score = Scoreboard(ai_settings, screen, stats)

    # 開(kāi)始游戲的主循環(huán)
    while True:
        # 添加score參數(shù)
        gf.check_events(ai_settings, screen, ship, bullets, stats, play_button,
                        aliens, score)

        if stats.game_active:
            ship.update()
            # 添加score參數(shù)
            gf.update_bullets(bullets, aliens, ship, screen, ai_settings, stats, score)
            # 添加score參數(shù)
            gf.update_aliens(ai_settings, aliens, ship, screen, bullets, stats, score)
        # 添加score參數(shù)
        gf.update_screen(ai_settings, screen, ship, bullets, aliens, stats,
                         play_button, score)

從上面的注釋可以看出,我們生成了一個(gè)計(jì)分板的實(shí)例scoregame_functions.py中的四個(gè)函數(shù)都要添加score參數(shù),換句話說(shuō),這四個(gè)函數(shù)都要修改,下面我們逐一修改這四個(gè)函數(shù)。

4.5 修改game_functions.py 4.5.1 修改參數(shù)

有幾個(gè)函數(shù)只需要在參數(shù)列表中增加score參數(shù):

# 增加score參數(shù)
def check_events(ai_settings, screen, ship, bullets, stats, play_button, aliens, score):
    for event in pygame.event.get():
        -- snip --
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_x, mouse_y = pygame.mouse.get_pos()
            # 增加score參數(shù), 該函數(shù)有所改動(dòng)
            check_play_button(stats, play_button, mouse_x, mouse_y, ai_settings,
                              screen, ship, aliens, bullets, score)

# 增加score參數(shù)
def update_bullets(bullets, aliens, ship, screen, ai_settings, stats, score):
    -- snip --
    # 增加score參數(shù),該函數(shù)有所改動(dòng)
    check_bullet_alien_collisions(ai_settings, screen, ship, aliens, bullets, stats, score)

# 增加score參數(shù)
def update_aliens(ai_settings, aliens, ship, screen, bullets, stats, score):
    -- snip --
    if pygame.sprite.spritecollideany(ship, aliens):
        # 增加score參數(shù),該函數(shù)有所改動(dòng)
        ship_hit(ai_settings, stats, screen, ship, aliens, bullets, score)
    # 增加score參數(shù),該函數(shù)有所改動(dòng)
    check_aliens_bottom(ai_settings, stats, screen, ship, aliens, bullets, score)

# 增加score參數(shù),該函數(shù)有所改動(dòng)
def update_screen(ai_settings, screen, ship, bullets, aliens, stats, play_button, score):
    -- snip --
    aliens.draw(screen)
    # 在if語(yǔ)句前面添加繪制計(jì)分板的代碼
    # 顯示得分
    score.show_score()

    if not stats.game_active:
        play_button.draw_button()
    -- snip --

接下來(lái)是改動(dòng)較多的函數(shù)。

4.5.2 修改check_play_button()函數(shù)
# 添加了score參數(shù)
def check_play_button(stats, play_button, mouse_x, mouse_y, ai_settings, screen,
                      ship, aliens, bullets, score):
    """在玩家單機(jī)Play按鈕時(shí)開(kāi)始新游戲"""
    if play_button.rect.collidepoint(mouse_x,
                                     mouse_y) and not stats.game_active:
        -- snip --
        stats.game_active = True  # 這一句不是新增的
        
        # 以下四行是新增的
        score.prep_score()
        score.prep_high_score()
        score.prep_level()
        score.prep_ships()

        # 清空外星人列表和子彈列表
        -- snip --

首先參數(shù)列表添加了score參數(shù),if判斷中還添加了四行生成計(jì)分板的代碼。之所以這里要添加這四行代碼,其實(shí)是為了當(dāng)你重新開(kāi)始(也就是第二次及以后點(diǎn)擊Play按鈕)游戲時(shí),計(jì)分板能正確顯示。

當(dāng)?shù)谝贿\(yùn)行游戲時(shí),沒(méi)有這四行也能正確顯示計(jì)分板。但是從第二次點(diǎn)擊Play開(kāi)始,如果沒(méi)有這四行,游戲的各個(gè)參數(shù)雖然更新了(通過(guò)check_play_button()中的各種重置函數(shù)得到了更新),可這些更新還沒(méi)有讓記分板中這四個(gè)參數(shù)的圖像得到重新繪制,即屬性的更新沒(méi)有自動(dòng)觸發(fā)score的這四個(gè)函數(shù)。所以顯示會(huì)不正確,因此必須在這里添加這四行代碼。

4.5.3 修改update_screen()函數(shù)
# 增加了score參數(shù)
def update_screen(ai_settings, screen, ship, bullets, aliens, stats, play_button, score):
    -- snip --
    # 增加顯示得分的代碼
    score.show_score()

    if not stats.game_active:
        -- snip --
4.5.4 修改update_bullets()和update_aliens()函數(shù)

這倆函數(shù)只是增加參數(shù)而已。

# 增加了score參數(shù)
def update_bullets(bullets, aliens, ship, screen, ai_settings, stats, score):
    -- snip --
    # 增加了score參數(shù), 函數(shù)有改動(dòng)
    check_bullet_alien_collisions(ai_settings, screen, ship, aliens, bullets, stats, score)

# 增加了score參數(shù)
def update_aliens(ai_settings, aliens, ship, screen, bullets, stats, score):
    -- snip --
    # 檢測(cè)外星人和飛船之間的碰撞
    if pygame.sprite.spritecollideany(ship, aliens):
        # 增加了score參數(shù), 函數(shù)有改動(dòng)
        ship_hit(ai_settings, stats, screen, ship, aliens, bullets, score)
    # 增加了score參數(shù)
    check_aliens_bottom(ai_settings, stats, screen, ship, aliens, bullets, score)

check_aliens_bottom()內(nèi)也變化也不大,該函數(shù)的變化不再以代碼的形式多帶帶列出:

該函數(shù)增加了一個(gè)score參數(shù),它內(nèi)部調(diào)用了ship_hit()函數(shù),為這個(gè)調(diào)用也增加score參數(shù)。這就是全部變化。

4.5.5 修改check_bullet_alien_collisions()函數(shù)
# 增加了score參數(shù)
def check_bullet_alien_collisions(ai_settings, screen, ship, aliens, bullets, stats, score):
    collisions = pygame.sprite.groupcollide(bullets, aliens, True, True)

    if collisions:
        for aliens in collisions.values():
            stats.score += ai_settings.alien_points * len(aliens)
            # 其實(shí)這里可以將其放到for循環(huán)之外,應(yīng)為并不能立刻就呈現(xiàn)分?jǐn)?shù)變化
            # 要等到主程序中的update_screen()中才能呈現(xiàn)
            score.prep_score()
        # 該函數(shù)是新增的
        check_high_score(stats, score)

    if len(aliens) == 0:
        # 刪除現(xiàn)有的子彈并創(chuàng)建新的艦隊(duì)
        bullets.empty()
        ai_settings.increase_speed()

        # 提高等級(jí)
        stats.level += 1
        score.prep_level()

        create_fleet(ai_settings, screen, ship, aliens)

首先我們?cè)黾恿艘粋€(gè)判斷語(yǔ)句,用于根據(jù)消滅的外星人來(lái)增加分?jǐn)?shù),由于有可能一顆子彈打到多個(gè)外星人但只算了一個(gè)外星人的分?jǐn)?shù),所有用循環(huán)來(lái)確保消滅掉的每一個(gè)外星人都得到了統(tǒng)計(jì)。collisions是一個(gè)字典,這里子彈是鍵,該子彈消滅的外星人對(duì)象為值(是個(gè)列表)。

我們還新增了一個(gè)更新最高積分的函數(shù)check_high_score(),它的代碼如下:

def check_high_score(stats, score):
    """檢查是否誕生了新的最高得分"""
    if stats.score > stats.high_score:
        stats.high_score = stats.score
        score.prep_high_score()

第二個(gè)if中,添加了增加等級(jí)的語(yǔ)句,緊跟著的是重新在計(jì)分板中繪制等級(jí)圖像。

4.5.6 修改ship_hit()和check_aliens_bottom()函數(shù)
# 增加了score參數(shù)
def ship_hit(ai_settings, stats, screen, ship, aliens, bullets, score):
    if stats.ships_left > 0:
        stats.ships_left -= 1

        # 更新記分牌
        score.prep_ships()
        # 清空外星人列表和子彈列表
        -- snip --
4.6 最后運(yùn)行效果

至此所有的添加都已經(jīng)結(jié)束,下圖是游戲的最終效果:

5. 小結(jié)

Python小游戲告一段落,一共三篇文章。本文中講述了:

如何創(chuàng)建用于開(kāi)始新游戲的Play按鈕;

如何檢測(cè)鼠標(biāo)點(diǎn)擊事件;

如何在游戲處于活動(dòng)狀態(tài)時(shí)隱藏光標(biāo);

如何隨游戲的進(jìn)行調(diào)整節(jié)奏;

如何實(shí)現(xiàn)記分系統(tǒng);

以及如何以文本和非文本方式顯示信息。

后三篇文章將是使用Python來(lái)進(jìn)行數(shù)據(jù)統(tǒng)計(jì)分析、繪圖等內(nèi)容。


迎大家關(guān)注我的微信公眾號(hào)"代碼港" & 個(gè)人網(wǎng)站 www.vpointer.net ~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41788.html

相關(guān)文章

  • 入行數(shù)據(jù)科學(xué)一定要有研究生學(xué)歷嗎?

    摘要:如果你的目標(biāo)是成為數(shù)據(jù)科學(xué)家或機(jī)器學(xué)習(xí)工程師研究員,那么有博士學(xué)位會(huì)給你加分不少。當(dāng)然,有些人更喜歡學(xué)術(shù)研究,而不是在行業(yè)中運(yùn)用數(shù)據(jù)科學(xué)或機(jī)器學(xué)習(xí)。二碩士學(xué)位入行數(shù)據(jù)科學(xué)需要碩士學(xué)位嗎視情況而定。 showImg(https://segmentfault.com/img/bVbm5Mw?w=850&h=566);作者 | Jeremie Harris翻譯 | MikaCDA 數(shù)據(jù)分析師...

    DrizzleX 評(píng)論0 收藏0
  • 云計(jì)算正在成為全球性市場(chǎng)嗎?未必!

    摘要:商業(yè)軟件聯(lián)盟周三稱,一些歐洲國(guó)家和快速增長(zhǎng)的發(fā)展中國(guó)家如巴西和中國(guó)擔(dān)心美國(guó)將輕易獲取新興的云計(jì)算市場(chǎng)。因此,這些國(guó)家建立了一些屏障阻止數(shù)據(jù)跨越其國(guó)境,從而阻礙了全球云計(jì)算市場(chǎng)的發(fā)展。 商業(yè)軟件聯(lián)盟周三稱,一些歐洲國(guó)家和快速增長(zhǎng)的發(fā)展中國(guó)家(如巴西和中國(guó))擔(dān)心美國(guó)將輕易獲取新興的云計(jì)算市場(chǎng)。因此,這些國(guó)家建立了一些屏障阻止數(shù)據(jù)跨越其國(guó)境,從而阻礙了全球云計(jì)算市場(chǎng)的發(fā)展。 ? 商業(yè)軟件聯(lián)盟CE...

    jindong 評(píng)論0 收藏0
  • Python 進(jìn)階之路 (六) 九淺一深 lambda,陳獨(dú)秀你給我坐下!

    摘要:好啦,首先讓我們先搞明白基礎(chǔ)定義,到底是什么表達(dá)了中用于創(chuàng)建匿名函數(shù)的特殊語(yǔ)法。其實(shí)總結(jié)起來(lái),可以理解為一個(gè)小的匿名函數(shù),函數(shù)可以使用任意數(shù)量的參數(shù),但只能有一個(gè)表達(dá)式。 lambda是什么 大家好,今天給大家?guī)?lái)的是有關(guān)于Python里面的lambda表達(dá)式詳細(xì)解析。lambda在Python里面的用處很廣,但說(shuō)實(shí)話,我個(gè)人認(rèn)為有關(guān)于lambda的討論不是如何使用的問(wèn)題,而是該不該用...

    WelliJhon 評(píng)論0 收藏0
  • Python全棧之路系列之遞歸

    摘要:所謂遞歸其實(shí)就是函數(shù)本身調(diào)用函數(shù),直到滿足指定條件之后一層層退出函數(shù),例如從前有座山,山里有座廟,廟里有個(gè)老和尚,正在給小和尚講故事呢故事是什么呢從前有座山,山里有座廟,廟里有個(gè)老和尚,正在給小和尚講故事呢故事是什么呢從前有座山,山里有座廟 所謂遞歸其實(shí)就是函數(shù)本身調(diào)用函數(shù),直到滿足指定條件之后一層層退出函數(shù), 例如 從前有座山,山里有座廟,廟里有個(gè)老和尚,正在給小和尚講故事呢!故事是...

    kviccn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

tommego

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<