2010-10-28培訓——“數字大爆炸”

weixin_49270402發表於2020-10-31

數字大爆炸

之前學過一點點python,差不多一年沒看過python了,忘得差不多了……聽師兄師姐講解也慢慢找回一些記憶。然後就是,最近學的是c,腦子還沒轉過來。原來,,,python的縮排非常嚴格,最開始沒有太在意縮排的問題,一直在報錯(捂臉)

import random       
rd=random.randint(1,1001)    #生成一個1-1000的隨機數
Min=1
Max=1000
for i in range(1000):
    num=int(input('請你輸入一個{}-{}的整數\n'.format(Min,Max)))
    if Min<num<rd:
        Min=num+1
        print("您輸入{}後,數字的範圍縮小為{}-{}".format(num,Min,Max))
        machine_num=random.randint(Min,Max)     #機器隨機生成一個數
        if Min<machine_num<rd:
            Min=machine_num+1
            print("機器輸入的數字為{},數字的範圍縮小為{}-{}".format(machine_num,Min,Max))
        elif rd<machine_num<Max:
            Max=machine_num-1
            print("機器輸入的數字為{},數字的範圍縮小為{}-{}".format(machine_num,Min,Max))
        else:
            print("機器輸入的數字為",rd,",炸彈炸了,您贏了^-^")
            break
    elif rd<num<Max:
        Max=num-1
        print("您輸入的數字為{},數字的範圍縮小為{}-{}".format(num,Min,Max))
        machine_num=random.randint(Min,Max)
        if Min<machine_num<rd:
            Min=machine_num+1
            print("機器輸入的數字為{},數字的範圍縮小為{}-{}".format(machine_num,Min,Max))
        elif rd<machine_num<Max:
            Max=machine_num-1
            print("機器輸入的數字為{},數字的範圍縮小為{}-{}".format(machine_num,Min,Max))
        else:
            print("機器輸入的數字為{},炸彈炸了,您贏了^-^".format(machine_num))
            break
    elif num>Max or num<Min:
        print("您輸入的數字超出範圍,請重新輸入{}-{}範圍內的數字".format(Min,Max))
    else:
            print("對不起,您輸入的數字為{},炸彈炸了,您輸了@_@".format(num))
            break

寫好了,自己玩一下:

請你輸入一個1-1000的整數
500
您輸入500後,數字的範圍變為501-1000
機器輸入的數字為885,數字的範圍縮小為501-884
請你輸入一個501-884的整數
700
您輸入700後,數字的範圍變為701-884
機器輸入的數字為848,數字的範圍縮小為701-847
請你輸入一個701-847的整數
800
您輸入的數字為800,數字的範圍縮小為701-799
機器輸入的數字為729,數字的範圍縮小為730-799
請你輸入一個730-799的整數
750
您輸入750後,數字的範圍縮小為751-799
機器輸入的數字為768,數字的範圍縮小為769-799
請你輸入一個769-799的整數
780
您輸入780後,數字的範圍縮小為781-799
機器輸入的數字為796,數字的範圍縮小為797-799
請你輸入一個797-799的整數
798
對不起,您輸入的數字為798,炸彈炸了,您輸了@_@

請你輸入一個1-1000的整數
500
您輸入500後,數字的範圍縮小為501-1000
機器輸入的數字為523,數字的範圍縮小為524-1000
請你輸入一個524-1000的整數
700
您輸入的數字為700,數字的範圍縮小為524-699
機器輸入的數字為641,數字的範圍縮小為642-699
請你輸入一個642-699的整數
800
您輸入的數字超出範圍,請重新輸入642-699範圍內的數字
請你輸入一個642-699的整數
650
您輸入的數字為650,數字的範圍縮小為642-649
機器輸入的數字為649,炸彈炸了,您贏了-

感謝師兄師姐的講解^ ~ ^吼吼吼,發現自己在自學的時候還是有很多沒學明白的東西,經過短短的一個多小時培訓讓自己有了比較清晰的框架
(啊這最近事有點多,悄咪咪溜去默默補python的知識點emmmm)

相關文章