python 基礎(chǔ) 01

python 環(huán)境搭建

安裝python

進(jìn)入python官網(wǎng)下載自己電腦對(duì)應(yīng)版本网杆;安裝時(shí)勾上path吃环、pip也颤、tcl/tk、test suite郁轻;并且安裝在全英文路徑下翅娶。

了解python之禪

Beautiful is better than ugly.
# 優(yōu)美勝于丑陋(Python以編寫優(yōu)美的代碼為目標(biāo))
Explicit is better than implicit.
# 明了勝于晦澀(優(yōu)美的代碼應(yīng)當(dāng)是明了的,命名規(guī)范好唯,風(fēng)格相似) 
Simple is better than complex.
# 簡(jiǎn)潔勝于復(fù)雜(優(yōu)美的代碼應(yīng)當(dāng)是簡(jiǎn)潔的竭沫,不要有復(fù)雜的內(nèi)部實(shí)現(xiàn)) 
Complex is better than complicated.
# 復(fù)雜勝于凌亂(如果復(fù)雜不可避免,那代碼間也不能有難懂的關(guān)系渠啊,要保持接口簡(jiǎn)潔)
Flat is better than nested.
# 扁平勝于嵌套(優(yōu)美的代碼應(yīng)當(dāng)是扁平的输吏,不能有太多的嵌套) 
Sparse is better than dense.
# 間隔勝于緊湊(優(yōu)美的代碼有適當(dāng)?shù)拈g隔,不要奢望一行代碼解決問題) 
Readability counts.
# 可讀性很重要(優(yōu)美的代碼是可讀的) 
Special cases aren't special enough to break the rules.
Although practicality beats purity.
# 即便假借特例的實(shí)用性之名替蛉,也不可違背這些規(guī)則(這些規(guī)則至高無上) 
Errors should never pass silently.
Unless explicitly silenced.
# 不要包容所有錯(cuò)誤贯溅,除非你確定需要這樣做(精準(zhǔn)地捕獲異常,不寫except:pass風(fēng)格的代碼) 
In the face of ambiguity, refuse the temptation to guess.
# 當(dāng)存在多種可能躲查,不要嘗試去猜測(cè) 
There should be one-- and preferably only one --obvious way to do it.
# 而是盡量找一種它浅,最好是唯一一種明顯的解決方案(如果不確定,就用窮舉法) 
Although that way may not be obvious at first unless you're Dutch.
# 雖然這并不容易镣煮,因?yàn)槟悴皇?Python 之父(這里的Dutch是指Guido)
Now is better than never.
Although never is often better than *right* now.
# 做也許好過不做姐霍,但不假思索就動(dòng)手還不如不做(動(dòng)手之前要細(xì)思量)
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
# 如果你無法向人描述你的方案,那肯定不是一個(gè)好方案典唇;反之亦然(方案測(cè)評(píng)標(biāo)準(zhǔn)) 
Namespaces are one honking great idea -- let's do more of those!
# 命名空間是一種絕妙的理念镊折,我們應(yīng)當(dāng)多加利用(倡導(dǎo)與號(hào)召)

安裝jupyter

安裝好python后進(jìn)去cmd輸入python -m pip install ipython jupyter 或者 pip install ipython jupyter

進(jìn)入jupyter

在cmd中輸入 jupyter notebook

退出快捷鍵

  1. python ctrl + z
  2. jupyter ctrl + c

安裝sublime Text

下載并安裝好程序,并且安裝好插件管理工具介衔,在管理工具中安裝以下推薦插件:

  1. SublimeCodeIntel
  2. Emmet
  3. Git
  4. Python PEP8 Autoformat
  5. ConvertToUTF8

安裝pycharm

安裝前需要有Java運(yùn)行環(huán)境
安裝后激活碼在百度搜 lanuy 找到激活碼恨胚,并修改計(jì)算機(jī)C:\Windows\System32\drivers\etc\hosts文件。

turtle

turtel 是python 自帶的一個(gè)模塊炎咖,引用前直接導(dǎo)入

turtle 指令集

方法 描述
turtle.pendown() 將筆向下拿-----移動(dòng)的時(shí)候繪制
turtle.penup() 將筆向上拿-----移動(dòng)的時(shí)候布繪制
turtle.pensize(寬度) 將線的寬度設(shè)置為制定寬度
turtle.forward(d) 將turtle朝著指向方向向前移動(dòng)制定距離
turtle.backward(d) 將turtle朝著指向的反方向向后移動(dòng)制定距離赃泡,turtle的方向不改變
turtle.right(angle) 將turtle向右轉(zhuǎn)動(dòng)制定角度
turtle.left(angle) 將turtle向左轉(zhuǎn)動(dòng)制定角
turtle.goto(x, y) 將turtle移動(dòng)到一個(gè)絕對(duì)位置
turtle.setx(x) 將turtle的x坐標(biāo)移動(dòng)到指定位置
turtle.setx(y) 將turtle的y坐標(biāo)移動(dòng)到指定位置
turtle.setheading(angle) 將turtle的方向設(shè)定為制定角度寒波。0--東、90--北升熊、180--西俄烁、270--南
turtle.home() 將turtle移動(dòng)到起點(diǎn)(0, 0)和向東
turtle. circle(r, ext, step) 繪制一個(gè)制定半徑级野,范圍和階數(shù)的圓
turtle.dot(diameter, color) 繪制一個(gè)制定半徑和顏色的圓
turtle.undo() 取消(反復(fù))最后一個(gè)圖操作
turtle.speed(s) 設(shè)置turtle的速度為一個(gè)在1到10之間的整數(shù)页屠,10 最大
turtle.color(c) 設(shè)置筆的顏色
turtle.fillcolor(c) 設(shè)置筆填充顏色
turtle.begin_fill() 在填充圖形前訪問這個(gè)方法
turtle.end_fill 在最后調(diào)用beain_fill之前填充繪制的圖形
turtle.filling() 返回填充狀態(tài):True、False
turtle.clear() 清除窗口勺阐,turtle的狀態(tài)和位置布受影響
turtle.reset() 清除窗口卷中,turtle的狀態(tài)和位置將恢復(fù)默認(rèn)值
turtle.screensize(w, h) 設(shè)置畫布的寬度和高度
turtle.hideturtle() 隱藏turtle
turtle.showturtle() 顯示turtle
turtle.isvisible() 如果turtle可見返回True
turtle.write(s, font = ("Arial", 8, "normal")) 在turtle位置編寫字符串s,字體是由字體名渊抽、字體大小和字體類型三部分組成

例題

繪制超立方體

循環(huán)時(shí)需要海歸的起始方向?yàn)?°(每次循環(huán)加固定角度), 或者在循環(huán)夾角的一半處(在循環(huán)的代碼前后加上循環(huán)角度的一半)

import turtle
for i in range(0,8):
    turtle.penup()
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(41.42)
    turtle.left(90)
    turtle.pensize(2)
    turtle.pendown()
    turtle.color('blue')
    turtle.dot(10)
    turtle.color('purple')
    turtle.forward(200)
    turtle.color('blue')
    turtle.dot(10)
    turtle.right(90)
    turtle.color('green')
    turtle.forward(200)
    turtle.color('blue')
    turtle.dot(10)
    turtle.right(90)
    turtle.color('blue')
    turtle.forward(200)
    turtle.color('blue')
    turtle.dot(10)
    turtle.right(90)
    turtle.color('green')
    turtle.forward(200)
    turtle.color('blue')
    turtle.dot(10)
    turtle.penup()
    turtle.left(90)
    turtle.goto(0,0)
    turtle.left(45)
turtle.bgcolor('yellow')
turtle.mainloop()
turtle10.PNG

繪制扇形

注意:圓弧的反向繪制和繪制不同角度的圓弧

import turtle

for _ in range(6):
    turtle.color('pink')
    turtle.left(30)
    turtle.penup()
    turtle.forward(100)
    turtle.pendown()
    turtle.left(90)
    turtle.begin_fill()
    turtle.circle(100, -25)
    turtle.right(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.circle(200, 25)
    turtle.right(90)
    turtle.backward(200)
    turtle.end_fill()
    turtle.right(25)
    turtle.forward(100)
    turtle.penup()
    turtle.backward(100)
    turtle.pendown()
    turtle.left(25)
    turtle.left(30)

for _ in range(6):
    turtle.color('red')
    turtle.penup()
    turtle.forward(100)
    turtle.pendown()
    turtle.left(90)
    turtle.begin_fill()
    turtle.circle(100, -25)
    turtle.right(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.circle(200, 25)
    turtle.right(90)
    turtle.backward(200)
    turtle.end_fill()
    turtle.right(25)
    turtle.forward(100)
    turtle.penup()
    turtle.backward(100)
    turtle.pendown()
    turtle.left(25)
    turtle.left(60)

turtle.done()
turtle11.PNG

隨意行走

海龜 在格子里是隨意行走十减,碰到邊緣則停止

import turtle
from random import randint

turtle.speed(10)
turtle.color('gray')
for y in range(-80, 81, 10):
     x= -80
     turtle.penup()
     turtle.goto(x, y)
     turtle.pendown()
     turtle.forward(160)
turtle.left(90)
for x in range(-80, 81, 10):
     y = -80
     turtle.penup()
     turtle.goto(x, y)
     turtle.pendown()
     turtle.forward(160)
turtle.penup()
turtle.home()
turtle.pendown()
turtle.speed(1)
turtle.pensize(3)
turtle.color('red')
x = y = 0
while abs(x) < 80 and abs(y) < 80:
    num = randint(1, 4)
    if num == 1:
        turtle.setheading(0)
        turtle.forward(10)
        x += 10
    elif num == 2:
        turtle.setheading(90)
        turtle.forward(10)
        y += 10
    elif num == 3:
        turtle.setheading(180)
        turtle.forward(10)
        x -= 10
    else:
        turtle.setheading(270)
        turtle.forward(10)
        y -= 10
turtle.done()

運(yùn)算符

運(yùn)算符 描述
[][:] 下標(biāo)愤估、切片
** 指數(shù)
~ + - 按位取反帮辟、正負(fù)號(hào)
* / % // 乘、除玩焰、模、整除
+ - 加減
>> << 右移昔园、左移
& 按位與
^ 按位異或、按位或
<= < > >= 小于等于默刚、小于甥郑、大于、大于等于
== != 等于荤西、不等于
is is not 身份運(yùn)算符
in not in 成員運(yùn)算符
not or and 邏輯運(yùn)算符
= += -= *= /= %= //= **= &= |= ^= >>= <<= (復(fù)合)賦值運(yùn)算符

數(shù)據(jù)類型:整數(shù)澜搅、浮點(diǎn)數(shù)邪锌、字符串、復(fù)數(shù)(complex)觅丰、布爾(bool)
賦值運(yùn)算符、關(guān)系運(yùn)算符舶胀、算術(shù)運(yùn)算符、邏輯運(yùn)算符嚣伐、

運(yùn)算符 描述
[][:] 下標(biāo)、切片
** 指數(shù)
~ + - 按位取反轩端、正負(fù)號(hào)
* / % // 乘、除基茵、模、整除
+ - 加減
>> << 右移拱层、左移
& 按位與
^ 按位異或、按位或
<= < > >= 小于等于径缅、小于、大于纳猪、大于等于
== != 等于、不等于
is is not 身份運(yùn)算符
in not in 成員運(yùn)算符
not or and 邏輯運(yùn)算符
= += -= *= /= %= //= **= &= |= ^= >>= <<= (復(fù)合)賦值運(yùn)算符

常用命令符

命令 解釋
int() 將一個(gè)數(shù)值或字符串轉(zhuǎn)換成整數(shù)氏堤,可以指定編碼搏明。
str() 將一個(gè)字符串轉(zhuǎn)換成浮點(diǎn)數(shù)。
chr() 將整數(shù)轉(zhuǎn)換成該編碼對(duì)應(yīng)的字符串(一個(gè)字符)熏瞄。
ord() 將字符串(一個(gè)字符)轉(zhuǎn)換成對(duì)應(yīng)的編碼(整數(shù))

格式化輸出

price = 6.3232
print('總造價(jià)是:¥ %.2f 元' % price)    # %0.2f 精度為2位小數(shù)的浮點(diǎn)數(shù)
print('總造價(jià)是:¥ %f 元' % price)       # %f 浮點(diǎn)數(shù)
print('總造價(jià)是:¥ %d 元' % price)      # %d 整數(shù)
print('總造價(jià)是:¥ %s 元' % price)      # %s 字符串

變量

變量命名規(guī)則

硬性規(guī)則:

  1. 變量名由字母、數(shù)字和下劃線構(gòu)成强饮,數(shù)字不能開頭氢卡。
  2. 大小寫敏感。
  3. 不要與關(guān)鍵字钧忽、保留字沖突质帅。
    官方建議:用全小寫字母朴肺,多個(gè)單詞用下劃線連接斗蒋,變量名中間不能有空格笛质。見名知意。

PEP8要求:

  1. 用小寫字母拼寫妇押,多個(gè)單詞用下劃線連接姓迅。
  2. 受保護(hù)的實(shí)例屬性用單個(gè)下劃線開頭敲霍。
  3. 私有的實(shí)例屬性用兩個(gè)下劃線開頭丁存。

實(shí)例

判斷是不是閏年

year = eval(input('請(qǐng)輸入年份:'))
condition1 = year % 4 == 0
condition2 = year % 100 != 0
condition3 = year % 400 == 0
is_leap = condition1 and condition2 or condition3
print(is_leap)

分支結(jié)構(gòu)

if···else···

實(shí)例

判斷用戶名和密碼是否對(duì)應(yīng)

import getpass  # 輸入密文時(shí)把input改成getpass.getpass
                # 輸入密碼時(shí)沒有回顯
username = input('請(qǐng)輸入用戶名:')
password = getpass.getpass('請(qǐng)輸入密碼:')
if username == 'admin' and password =='123456':
    print('歡迎使用本系統(tǒng)!')
    print('開始使用App')
else:
    print('用戶名或密碼錯(cuò)誤解寝!')
print('今天天氣真好!')          # 不受if或else控制

if···elif···else···

實(shí)例

9*9乘法表

for row in range(1, 10):
    for col in range(1, row + 1):
        print('%d * %d = %d' % (row, col, row * col), end = '\t')
    print()

搖色子

from random import randint,random

face = randint(1,6)
if face == 1:
    print('脫衣服')
elif face == 2:
    print('唱歌')
elif face == 3:
    print('喝酒')
elif face == 4:
    print('真心話')
elif face == 5:
    print('磕頭')
else:
    print('學(xué)狗叫')

循環(huán)結(jié)構(gòu)

for循環(huán)

實(shí)例

求能被3和5整除的數(shù)的和

my_sum = 0
for num in range(0,101):
    if num % 3 == 0 or num % 5 == 0:
        my_sum += num
print(my_sum)  

while循環(huán)

實(shí)例

和電腦玩石頭剪刀布的游戲

from random import randint
'''
1 剪刀
2 石頭
3 布
'''
my_money = ma_money = int(input('請(qǐng)輸入開始金額')) 
c = int(input('請(qǐng)輸入賭注'))

while my_money > 0 and ma_money > 0:
    x = input('請(qǐng)出拳:')
    if x =='剪刀':
        my = 1
    elif x =='石頭':
        my = 2
    else:
        my = 3

    ma = randint(1,3)
    if my == 1:
        if ma == 1:
            print('電腦:剪刀 平局\n')
        elif ma == 2:
            my_money -= c
            ma_money += c
            print('電腦:石頭与学,你:剪刀。\n電腦贏索守,扣你%d大洋 抑片。\n電腦:¥%d 卵佛,你:¥%d\n'% (c, ma_money, my_money))
        else:
            my_money += c
            ma_money -= c
            print('電腦:布敞斋,你:剪刀。\n你贏植捎,扣電腦%d大洋 。\n電腦:¥%d 焰枢,你:¥%d\n'% (c, ma_money, my_money))

    elif my == 2:
        if ma == 1:
            my_money += c
            ma_money -= c
            print('電腦:剪刀,你:石頭济锄。\n你贏,扣電腦%d大洋 荐绝。\n電腦:¥%d ,你:¥%d\n'% (c, ma_money, my_money))
        elif ma == 2:
            print('電腦:石頭 平局\n')
        else:
            my_money -= c
            ma_money += c
            print('電腦:布低滩,你:石頭岩喷。\n電腦贏监憎,扣你%d大洋 均驶。\n電腦:¥%d 枫虏,你:¥%d\n'% (c, ma_money, my_money))

    else:
        if ma == 1:
            my_money -= c
            ma_money += c
            print('電腦:剪刀爬虱,你:布隶债。\n電腦贏跑筝,扣你%d大洋 。\n電腦:¥%d 曲梗,你:¥%d\n'% (c, ma_money, my_money)
        elif ma == 2:
            my_money += c
            ma_money -= c
            print('電腦:石頭,你:布虏两。\n你贏,扣電腦%d大洋 定罢。\n電腦:¥%d ,你:¥%d\n'% (c, ma_money, my_money))
        else:
            print('電腦:布 平局\n')
    if my_money<=0:
        print('很遺憾祖凫,你失敗了')
    if ma_money<=0:
        print('恭喜,你贏了')

人出數(shù)字電腦猜

要求電腦根據(jù)產(chǎn)生的值的大小和我的值比較后調(diào)整下一次產(chǎn)生值的范圍

需要有兩個(gè)變量?jī)?chǔ)每次變化范圍的值

from random import randint

my = int(input('計(jì)算機(jī)要猜的數(shù)(1-100):'))    
game_over = False
if my < 1 or my > 100:
    game_over = True
    print('重新輸入:')
nextmax = 0
my_max = 100
my_max = randint(nextmax+1 , my_max )
data = 101
while not game_over:
    if my_max > my:
        data= my_max
        my_max = randint(nextmax+1 , data-1 )
        print(my_max)
    elif my_max < my:
        nextmax = my_max
        my_max = randint(nextmax+1 , data-1 )
        print(my_max)
    else:
        print('哈哈遭庶,就這么簡(jiǎn)單')
        game_over = True

窮舉法

捕魚

a b c d e 五人半晚釣魚后都睡覺了,早上a起床后把掉的魚分成5份 拿走自己的一份 并扔掉多的一條1條峦睡,b完箩、c赐俗、d弊知、e依次這樣做,問秩彤,最少捕了多少條魚

fish = 1
while True:
    total = fish
    oo = True
    for _ in range(5):
        if (total - 1) % 5 == 0:
            total = (total - 1) // 5 * 4
        else:
            oo = False
            break
    if oo:
        print(fish)
        break
    fish += 1

買雞

'''
公雞五元一只事哭,母雞三元一只,小雞一元三只
用100元買100只雞 問公雞母雞和小雞各多少只
'''
'''
for x in range(21):                  # 執(zhí)行了 21*34*34 次
    for y in range(34):
        for z in range (0, 100, 3):
            if 5 * x + 3 * y + z // 3 == 100 and x + y + z == 100:
                print(x, y, z)
'''              
for x in range(21):                 # 執(zhí)行了 21*34 次
    for y in range(34):
        if 5 * x + 3 * y + (100 - x - y) // 3 == 100 and x + y + (100 - x - y) == 100 and (100 - x - y) % 3 == 0:
            z = 100 - x - y
            print(x, y, z)

計(jì)算機(jī)浮點(diǎn)數(shù)運(yùn)算的 坑

浮點(diǎn)數(shù)運(yùn)算例子

# 由于計(jì)算機(jī)浮點(diǎn)數(shù)存儲(chǔ)方式
# 千萬(wàn)不要做浮點(diǎn)數(shù)的 == 和 != 運(yùn)算
# 否則鳍咱,計(jì)算結(jié)果將完全出乎意料

print(0.1 + 0.2 + 0.3)   #  0.6000000000000001
print(0.3 + 0.2 + 0.1)   #  0.6

代碼優(yōu)化

完美數(shù)原代碼

完美數(shù) = 自身所有因子的和
such :6 = 1 + 2 + 3 :28 = 1+2+7+4+14
求1-10000的所有完美數(shù)

import time

start = time.time()
for num in range(1, 10000):
    my = 0
    q = num / 2 + 1
    for i in range(1, int(q)):
        if num % i == 0:
            my += i
            # print(my)
    if num == my:
        print(num)
end = time.time()
print(end - start,'s')

完美數(shù)優(yōu)化代碼

優(yōu)化后代碼運(yùn)行時(shí)間大幅縮短

import time
from math import sqrt

start = time.time()
for num in range(2, 10000):
    my = 0
    q = int(sqrt(num))
    for i in range(1, q+1):
        if num % i == 0:
            my += i
            if i != 1 and i !=num // i:
                my += num // i
    if num == my:
        print(num)
end = time.time()
print(end - start,'s')

綜合訓(xùn)練

craps 賭博游戲

規(guī)則:玩家擲兩個(gè)骰子与柑,每個(gè)骰子點(diǎn)數(shù)為1-6,如果第一次點(diǎn)數(shù)和為7或11价捧,則玩家勝;如果點(diǎn)數(shù)和為2结蟋、3或12,則玩家輸莊家勝嵌屎。若和為其他點(diǎn)數(shù),則記錄第一次的點(diǎn)數(shù)和宝惰,玩家繼續(xù)擲骰子,直至點(diǎn)數(shù)和等于第一次擲出的點(diǎn)數(shù)和則玩家勝尼夺;若擲出的點(diǎn)數(shù)和為7則莊家勝。

from random import randint

salary_all1 = eval(input('請(qǐng)輸入玩家起始賭金:'))
salary_all2 = eval(input('請(qǐng)輸入莊家起始賭金:'))
salary = eval(input('請(qǐng)輸入賭注:'))
i = 0
while True:
    '''
    i += 1
    if i != 1:
    salary = eval(input('請(qǐng)輸入賭注:'))                #   是否每把調(diào)整賭注
    '''
    frist1 = randint(1, 6)
    frist2 = randint(1, 6)
    frist_sum = frist1 + frist2
    print(frist_sum)
    if frist_sum == 7 or frist_sum == 11:
        salary_all1 += salary
        salary_all2 -= salary
        print('玩家勝,玩家剩余金額為%d,莊家剩余金額為%d' % (salary_all1,salary_all2))
        if salary_all1 <= 0 :
            print('玩家賭金不足')
            break
        elif salary_all2 <= 0:
            print('莊家賭金不足')
            break
        is_continue = input('賭豪繼續(xù)嗎(y/n)夜郁?')
        if is_continue == 'y':
            continue
    elif frist_sum == 2 or frist_sum == 3 or frist_sum == 12:
        salary_all1 -= salary
        salary_all2 += salary
        print('莊家贏,玩家剩余金額為%d,莊家剩余金額為%d' % (salary_all1,salary_all2))
        if salary_all1 <= 0 :
            print('玩家賭金不足')
            break
        elif salary_all2 <= 0:
            print('莊家賭金不足')
            break
        is_continue = input('賭豪繼續(xù)嗎(y/n)?')
        if is_continue == 'y':
            continue
    else:
        while True:
            # salary = eval(input('請(qǐng)輸入賭注:'))             #   是否每把調(diào)整賭注
            next1 = randint(1, 6)         
            next2 = randint(1, 6)
            count = next1 + next2
            print(count)
            if count == frist_sum:
                salary_all1 += salary
                salary_all2 -= salary
                print('玩家勝,玩家剩余金額為%d,莊家剩余金額為%d' % (salary_all1,salary_all2))
                if salary_all1 <= 0 :
                    print('玩家賭金不足')
                    break
                elif salary_all2 <= 0:
                    print('莊家賭金不足')
                    break
                is_continue = input('賭豪繼續(xù)嗎(y/n)竞端?')
                if is_continue == 'n':
                    break
            elif count == 7:
                salary_all1 -= salary
                salary_all2 += salary
                print('莊家勝,玩家剩余金額為%d,莊家剩余金額為%d' % (salary_all1,salary_all2))
                if salary_all1 <= 0 :
                    print('玩家賭金不足')
                    break
                elif salary_all2 <= 0:
                    print('莊家賭金不足')
                    break
                is_continue = input('賭豪繼續(xù)嗎(y/n)庙睡?')
                if is_continue == 'n':
                    break
        print('游戲結(jié)束')
        break

每次重新開始的craps

下面代碼表示:若每次分出勝負(fù)后事富,重新開始將重新?lián)u出第一次的點(diǎn)數(shù)

from random import randint

salary_all1 = eval(input('請(qǐng)輸入玩家起始賭金:'))
salary_all2 = eval(input('請(qǐng)輸入莊家起始賭金:'))
salary = eval(input('請(qǐng)輸入賭注'))
while True:
    restart = True
    frist1 = randint(1, 6)
    frist2 = randint(1, 6)
    frist_sum = frist1 + frist2
    print('第一次搖色子',frist_sum)
    if frist_sum == 7 or frist_sum == 11:
        salary_all1 += salary
        salary_all2 -= salary
        print('玩家勝,玩家剩余金額為%d,莊家剩余金額為%d' % (salary_all1,salary_all2))
        is_continue = input('賭豪繼續(xù)嗎(y/n)乘陪?')
        if is_continue == 'y':
            print('重新開始')
            continue
    elif frist_sum == 2 or frist_sum == 3 or frist_sum == 12:
        salary_all1 -= salary
        salary_all2 += salary
        print('莊家贏,玩家剩余金額為%d,莊家剩余金額為%d' % (salary_all1,salary_all2))
        is_continue = input('賭豪繼續(xù)嗎(y/n)?')
        if is_continue == 'y':
            print('重新開始')
            continue
    else:
        while True:
            next1 = randint(1, 6)
            next2 = randint(1, 6)
            count = next1 + next2
            print('非第一次搖色子', count)
            if count == frist_sum:
                salary_all1 += salary
                salary_all2 -= salary
                print('玩家勝,玩家剩余金額為%d,莊家剩余金額為%d' % (salary_all1,salary_all2))
                is_continue = input('賭豪繼續(xù)嗎(y/n)贱勃?')
                if is_continue == 'n':
                    restart = True
                    break
                else:
                    restart = False
                    break
            elif count == 7:
                salary_all1 -= salary
                salary_all2 += salary
                print('莊家勝,玩家剩余金額為%d,莊家剩余金額為%d' % (salary_all1,salary_all2))
                is_continue = input('賭豪繼續(xù)嗎(y/n)?')
                if is_continue == 'n':
                    restart = True
                    break
                else:
                    restart = False
                    break
        if salary_all1 <= 0 :
            print('玩家賭金不足')
            break
        elif salary_all2 <= 0:
            print('莊家賭金不足')
            break
    if restart == True:
        print('游戲結(jié)束')
        break
    else:
        print('重新開始')

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贵扰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子戚绕,更是在濱河造成了極大的恐慌,老刑警劉巖舞丛,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異球切,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)欧聘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門端盆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人焕妙,你說我怎么就攤上這事》偃担” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵末患,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我璧针,道長(zhǎng),這世上最難降的妖魔是什么探橱? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮隧膏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胞枕。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布湖员。 她就那樣靜靜地躺著瑞驱,像睡著了一般娘摔。 火紅的嫁衣襯著肌膚如雪唤反。 梳的紋絲不亂的頭發(fā)上凳寺,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天彤侍,我揣著相機(jī)與錄音,去河邊找鬼盏阶。 笑死,一個(gè)胖子當(dāng)著我的面吹牛名斟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播砰盐,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼岩梳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冀值,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎焦除,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體作彤,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年创葡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灿渴。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖骚露,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情棘幸,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布误续,位于F島的核電站,受9級(jí)特大地震影響蹋嵌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜栽烂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望腺办。 院中可真熱鬧,春花似錦菇晃、人聲如沸蚓挤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至缤剧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間荒辕,已是汗流浹背汗销。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工抵窒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人李皇。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親慰丛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瘾杭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容