零基礎學習Python(工具系列Python系列二)--語法講解和表白神器代碼

1、python基礎知識python

        以前第一篇講到了環境安裝,確定是蠢蠢欲動,想立刻寫出本身的第一個程序。程序世界最著名的是"Hello word",怎麼輸出呢?以下圖:mysql

        這樣就寫出了本身的第一程序了。若是不想在窗口上進行程序編寫,那就須要建立一個文件,注意是以".py"爲後綴(之後的講解都是以這樣的方式,不會在窗口上進行代碼的編寫)。以下圖所示:sql

        寫出了本身的第一個程序以後,就會有疑問,print這個是幹嗎的,做什麼用的。舉個簡單的例子,好比在高中學習英語的時候,英語有語法,類型,單詞等相關組成,而python是一門語言,既然是語言,不排除也有類型,語法等組成一個語言。沒錯,print就是python的語法,或者說是關鍵字,直白的說是python的輸出,不輸出就看不到。只有掌握了python的語法和類型,才能寫出更好的程序。數據庫

 

2、程序解析編程

        計算機能夠處理很是多的東西,好比:圖片、文字、視頻等等。這些都須要類型進行區分的,爲何呢?我的認爲對不一樣的東西,用類型作區分好處理。就好像數字和文字同樣,1使用阿拉伯數字,文字使用漢字。就此打住,原本想從數據類型,函數,模塊,對象等一個個基礎講起的,忽然想了想,仍是沒法快速進入編程啊。因此決定以一個功能程序爲主進行講解,下次能夠直接按照模板來進行編程。恰好最近在學習mysql(由淺到深刻),以插入數據爲案例。代碼以下:app

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

' a test mysql module  '

__author__ = '繁榮Aaron'



#=======上面爲模板的做者信息,所使用的編碼語言和所使用的python環境信息============



#0.導入數據庫模板

import mysql.connector



#1.配置鏈接數據庫信息

mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  passwd="123456",

  db="test_python",

  charset="utf8"

)

#2.執行方法-固定句式

mycursor = mydb.cursor()



# 若是數據表已經存在使用 execute() 方法刪除表。

#mycursor.execute("DROP TABLE IF EXISTS userinfo")



# 建立數據表SQL語句

sql = """CREATE TABLE userinfo (

 id INT unsigned NOT NULL AUTO_INCREMENT,

         name  CHAR(20) NOT NULL, 

         age INT,  

         sex CHAR(1),

         income FLOAT,

 PRIMARY KEY (id))"""

#mycursor.execute(sql)



fruits = ['banana', 'apple',  'mango']



#for index in range(len(fruits)):

sql_insert = """INSERT INTO `test_python`.`userinfo` (`id`, `name`, `age`, `sex`, `income`) VALUES (1, 'zfr', 20, 'M', 20)"""



#mycursor.execute(sql_insert)





try:

   # 執行sql語句

   mycursor.execute(sql_insert)

   # 提交到數據庫執行

   mydb.commit()

except:

   # Rollback in case there is any error

   mydb.rollback()





#mycursor.execute(sql)



# 關閉數據庫鏈接

mydb.close()

    代碼的構成由下面幾部分:dom

    1.該程序的說明信息。主要說明環境,做者,編碼信息等。函數

    2.import語法,該關鍵字指的是導入模板,好比mysql模板,導入以後,你只須要調用相應的方法就能夠輕鬆使用mysql了,屏蔽了底層的實現。學習

    3.mydb,這個是本身定義的常量,目的是封裝這個信息(數據),只要誰拿到了它,均可以使用它,固然也能夠從新賦值。其餘的都是固定句式,只要按照模板來就行。ui

    4.try和except也是關鍵字,主要是爲了捕捉異常,處理異常,程序不可能沒有問題,若是知道異常,就使用者兩個關鍵字。

 

3、女神節到了,送個表白神器

    1.先安裝好模板pygame,安裝步驟以下:

先查看python版本,個人是3.7,因此下載相對應的模板,同時選擇這個文件:pygame-1.9.4-cp37-cp37m-win_amd64.whl:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame

第二步是找到對應的文件夾,執行命令:

pip install pygame-1.9.4-cp37-cp37m-win_amd64.whl

    2.執行程序,不過先要下載好音樂和圖片(放在同一個文件夾下面),就能夠執行程序了。程序以下:

import pygame

import random

import sys



# 根據背景圖大小,設置遊戲屏幕大小

WIDTH, HEIGHT = 1024, 576

# 不全屏

screen = pygame.display.set_mode((WIDTH, HEIGHT), 0, 32)

# 全屏

# screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN, 32)

pygame.display.set_caption('小姐姐,你的快遞到了。')





# 添加文本信息

def title(text, screen, scale, color=(0, 0, 0)):

    font = pygame.font.SysFont('SimHei', 27)

    textRender = font.render(text, True, color)

    # 初始化文本的座標

    screen.blit(textRender, (WIDTH / scale[0], HEIGHT / scale[1]))





# 按鈕

def button(text, x, y, w, h, color, screen):

        pygame.draw.rect(screen, color, (x, y, w, h))

        font = pygame.font.SysFont('SimHei', 20)

        textRender = font.render(text, True, (255, 255, 255))

        textRect = textRender.get_rect()

        textRect.center = ((x+w/2), (y+h/2))

        screen.blit(textRender, textRect)





# 生成隨機的位置座標

def get_random_pos():

        x, y = random.randint(10, 600), random.randint(20, 500)

        return x, y





# 點擊答應按鈕後顯示的頁面

def show_like_interface(screen):

    screen.fill((255, 255, 255))

    background1 = pygame.image.load('214_1.jpg').convert()

    screen.blit(background1, (0, 0))

    pygame.display.update()

    while True:

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                sys.exit()





def main():

    pygame.init()

    clock = pygame.time.Clock()

    # 添加背景音樂

    pygame.mixer.music.load('214_1.mp3')

    pygame.mixer.music.play(-1, 20)

    pygame.mixer.music.set_volume(0.5)

    # 設置不一樣意按鈕屬性

    unlike_pos_x = 130

    unlike_pos_y = 375

    unlike_pos_width = 450

    unlike_pos_height = 55

    unlike_color = (115, 76, 243)

    # 設置贊成按鈕屬性

    like_pos_x = 130

    like_pos_y = 280

    like_pos_width = 450

    like_pos_height = 55

    like_color = (115, 76, 243)



    running = True

    while running:

        # 填充窗口

        screen.fill((255, 255, 255))

        # 添加背景圖

        background = pygame.image.load('214_2.jpg').convert()

        screen.blit(background, (0, 0))



        # 獲取鼠標座標

        pos = pygame.mouse.get_pos()

        # 判斷鼠標位置,不一樣意時,按鈕不斷變化

        if pos[0] < unlike_pos_x + unlike_pos_width + 5 and pos[0] > unlike_pos_x - 5 and pos[1] < unlike_pos_y + unlike_pos_height + 5 and pos[1] > unlike_pos_y - 5:

            while True:

                unlike_pos_x, unlike_pos_y = get_random_pos()

                if pos[0] < unlike_pos_x + unlike_pos_width + 5 and pos[0] > unlike_pos_x - 5 and pos[1] < unlike_pos_y + unlike_pos_height + 5 and pos[1] > unlike_pos_y - 5:

                    continue

                break



        # 設置標題及按鈕文本信息

        title('1.若是有一天我向你表白,你會怎麼樣?', screen, scale=[8, 3])

        button('A.你小子終於開竅了,你敢表白我就敢答應!', like_pos_x, like_pos_y, like_pos_width, like_pos_height, like_color, screen)

        button('B.我拿你當閨蜜,你竟然想睡我!果斷拒絕!', unlike_pos_x, unlike_pos_y, unlike_pos_width, unlike_pos_height, unlike_color, screen)

        # 設置關閉選項屬性

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                sys.exit()

        # 當鼠標點擊贊成按鈕後,跳轉結束頁面

        if pos[0] < like_pos_x + like_pos_width + 5 and pos[0] > like_pos_x - 5 and pos[1] < like_pos_y + like_pos_height + 5 and pos[1] > like_pos_y - 5:

            if event.type == pygame.MOUSEBUTTONDOWN:

                show_like_interface(screen)



        pygame.display.flip()

        pygame.display.update()

        clock.tick(60)





main()

效果圖:

 

繁榮Aaron

沒時間解釋了,快長按左邊二維碼關注咱們~~

相關文章
相關標籤/搜索