欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python實(shí)現(xiàn)24點(diǎn)游戲的示例代碼

 更新時(shí)間:2022年12月08日 11:30:20   作者:??????  
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)24點(diǎn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1.前言

24數(shù)大家之前玩過沒有?

規(guī)則:一副撲克牌抽走大王,小王,K,Q,J(有的規(guī)則里面會(huì)抽走10,本文一律不抽走),之后在牌堆里隨機(jī)抽取四張牌,將這四張牌加減乘除得到24。

如果再高級(jí)一點(diǎn),還會(huì)有根號(hào)、階乘、冪之類的算法,別問為啥不能冪運(yùn)算,問就是懶,自己看思路自己實(shí)現(xiàn)去(bushi。

知識(shí)點(diǎn):隨機(jī)數(shù),列表,嵌套判斷,循環(huán),死循環(huán),都是新手接觸的東西。

由于不能進(jìn)行像根號(hào),階乘高級(jí)的運(yùn)算,改版之后完全可以了。

話不多說,上思路

2.思路

1.隨機(jī)生成四個(gè)1到10內(nèi)的數(shù),儲(chǔ)存到列表里作為要運(yùn)算的數(shù)

2.詢問要操作的兩個(gè)數(shù)及運(yùn)算方法

3.根據(jù)結(jié)果進(jìn)行運(yùn)算

4.列表改變數(shù)值

5.在前面添加第一個(gè)數(shù)單獨(dú)運(yùn)算的功能并詢問階乘或者根號(hào)

6.將第一個(gè)數(shù)根據(jù)結(jié)果進(jìn)行運(yùn)算

7.列表改變數(shù)值

8.在詢問運(yùn)算方法時(shí)添加重新開始選項(xiàng),并完善功能

9.完善程序

3.代碼

import random#隨機(jī)數(shù)模塊
defen=0#變量defen為0
print("24數(shù)游戲,不知道規(guī)則請先查詢,得分達(dá)到5獲勝")
while defen < 5:#得分到達(dá)5獲勝
    a=random.randrange(1,10)
    b=random.randrange(1,10)
    c=random.randrange(1,10)
    d=random.randrange(1,10)#變量abcd均為1到10的隨機(jī)數(shù)
    e=[a,b,c,d]#創(chuàng)建列表e
    while 1 == 1:#死循環(huán)
        print(e,"目前數(shù)字")
        f=int(input("請輸入要調(diào)用的第一個(gè)數(shù)字:"))#輸入的第一個(gè)數(shù)字為f
        if e.count(f) < 1:#f如果不在列表里
            print("你輸入的數(shù)字不在里面,請重新輸入")
            continue#重新輸入
        g=int(input("請輸入要調(diào)用的第二個(gè)數(shù)字,若將第一個(gè)數(shù)字單獨(dú)進(jìn)行運(yùn)算請輸入11:"))#輸入的第二個(gè)數(shù)字為g并詢問是否要將f單獨(dú)運(yùn)算
        if e.count(g) < 1:#g如果不在列表里
            if g != 11:#如果g不是11
                print("你輸入的數(shù)字不在里面,請重新輸入")
                continue#重新輸入
            else:#如果g是11
                l=int(input("要將第一個(gè)數(shù)字怎么運(yùn)算?根號(hào)輸入1,階乘輸入2:"))
                if l == 1:#要進(jìn)行根號(hào)運(yùn)算
                    #檢測f是不是1,4,9,是則運(yùn)算,不是則重新開始
                    if f == 1:#如果f是1
                        print("根號(hào)1等于1")
                        continue#運(yùn)算結(jié)束
                    elif f == 4:#如果f是4
                        print("根號(hào)4等于2")
                        e.remove(4)#刪除4
                        e.append(2)#添加2
                        continue#運(yùn)算結(jié)束
                    elif f == 9:#如果f是9
                        print("根號(hào)9等于3")
                        e.remove(9)#刪除9
                        e.append(3)#添加3
                        continue#運(yùn)算結(jié)束
                    else:#f不是1,4,9,根號(hào)結(jié)果不是整數(shù)
                        print(f,"根號(hào)的結(jié)果不是整數(shù),錯(cuò)誤!")
                        continue#重新輸入
                    
                if l == 2:#要進(jìn)行階乘運(yùn)算
                    n=e.index(f)#由于后面會(huì)改變f,提前用n儲(chǔ)存他的位置
                    m=f#階乘運(yùn)算
                    while f > 1:
                        m=m*(f-1)
                        f=f-1
                    e.pop(n)#刪除該數(shù)字所在位置
                    e.append(m)#添加階乘后的數(shù)字
                    print("已將",m,"添加")
                    continue#重新輸入
                if l != 1:
                    if l != 2:#如果l不是1也不是2
                        print("錯(cuò)誤,重新計(jì)算")
        h=int(input("要把它們怎么運(yùn)算?加輸入1,減輸入2,乘輸入3,除輸入4,重新計(jì)算輸入5:"))#加減乘除運(yùn)算
        if h == 1:
            i=f+g#兩數(shù)相加
        if h == 2:
            i=f-g#兩數(shù)相減
        if h == 3:
            i=f*g#兩數(shù)相乘
        if h == 4:
            if f%g == 0:#g是否可以被整除
                i=f//g#兩數(shù)相除
            else:#如果不能被整除
                print("兩個(gè)數(shù)不能整除,請重新輸入")
                continue#重新輸入
        if h == 5:
            print("重新計(jì)算")
            e=[a,b,c,d]#重新定義列表e,重新開始游戲
            continue
        e.remove(f)#刪除列表里的f
        e.remove(g)#刪除列表里的g
        e.append(i)#添加兩數(shù)的計(jì)算結(jié)果
        if len(e) == 1:#如果列表長度為1
            if e.count(24) == 1:#且數(shù)字24出現(xiàn)的次數(shù)為1
                defen=defen+1#得分加一
                j=1#獲勝
                break#退出死循環(huán)
            else:#數(shù)字24沒有出現(xiàn)
                j=0#失敗
                break#退出死循環(huán)
    if j == 1:#如果獲勝
        print("獲勝!您目前的得分為",defen)
        print("開啟新的一局")
    else:#如果失敗
        print("失??!你目前的得分為",defen)
        print("開啟新的一局")
print("得分已經(jīng)達(dá)到5,您獲勝了!")#得分達(dá)到5,游戲獲勝

到此這篇關(guān)于基于Python實(shí)現(xiàn)24點(diǎn)游戲的示例代碼的文章就介紹到這了,更多相關(guān)Python 24點(diǎn)游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 對(duì)pandas中時(shí)間窗函數(shù)rolling的使用詳解

    對(duì)pandas中時(shí)間窗函數(shù)rolling的使用詳解

    今天小編就為大家分享一篇對(duì)pandas中時(shí)間窗函數(shù)rolling的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 深入解析pandas數(shù)據(jù)聚合和重組

    深入解析pandas數(shù)據(jù)聚合和重組

    這篇文章主要介紹了pandas數(shù)據(jù)聚合和重組,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • python2和python3的輸入和輸出區(qū)別介紹

    python2和python3的輸入和輸出區(qū)別介紹

    這篇文章主要介紹了python2和python3的輸入和輸出區(qū)別介紹,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • Pytorch可視化之Visdom使用實(shí)例

    Pytorch可視化之Visdom使用實(shí)例

    Visdom 是一個(gè)專門用于 PyTorch 的交互式可視化工具,可以對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行豐富的可視化,幫助我們實(shí)時(shí)監(jiān)控在遠(yuǎn)程服務(wù)器上進(jìn)行的科學(xué)實(shí)驗(yàn),這篇文章主要給大家介紹了關(guān)于Pytorch可視化之Visdom使用的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Django的get_absolute_url方法的使用

    Django的get_absolute_url方法的使用

    本文主要介紹了Django的get_absolute_url方法的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • python3.6使用urllib完成下載的實(shí)例

    python3.6使用urllib完成下載的實(shí)例

    今天小編就為大家分享一篇python3.6使用urllib完成下載的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • paramiko使用tail實(shí)時(shí)獲取服務(wù)器的日志輸出詳解

    paramiko使用tail實(shí)時(shí)獲取服務(wù)器的日志輸出詳解

    這篇文章主要給大家介紹了關(guān)于paramiko使用tail實(shí)時(shí)獲取服務(wù)器的日志輸出的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python訪問mysql數(shù)據(jù)庫的實(shí)現(xiàn)方法(2則示例)

    python訪問mysql數(shù)據(jù)庫的實(shí)現(xiàn)方法(2則示例)

    這篇文章主要介紹了python訪問mysql數(shù)據(jù)庫的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了兩種Python操作MySQL數(shù)據(jù)庫的相關(guān)技巧,需要的朋友可以參考下
    2016-01-01
  • pandas分組聚合(agg,transform,apply)

    pandas分組聚合(agg,transform,apply)

    在SQL中我們經(jīng)常使用 GROUP BY 將某個(gè)字段,按不同的取值進(jìn)行分組, 在pandas中也有g(shù)roupby函數(shù),本文主要介紹了pandas分組聚合(agg,transform,apply),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • python框架flask入門之環(huán)境搭建及開啟調(diào)試

    python框架flask入門之環(huán)境搭建及開啟調(diào)試

    這篇文章主要介紹了python框架flask入門環(huán)境搭建及開啟調(diào)試的步驟設(shè)置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論