猜数游戏的python程序

2019-02-06  本文已影响0人  shbguo

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

from random import randint

a=[1,2,3,4]

a[0]=randint(0,9)

a[1]=randint(0,9)

while a[1]==a[0]:

    a[0]=randint(0,9)

a[2]=randint(0,9)

while a[2]==a[0] or a[2]==a[1]:

    a[2]=randint(0,9)

a[3]=randint(0,9)

while a[3]==a[0] or a[3]==a[1] or a[3]==a[2]:

    a[3]=randint(0,9) 

#print("gghhjj")

#print(a[0],a[1],a[2],a[3],end="",sep="")

print("猜数游戏")

print("")

print("规则如下:")

print("1.输入四个不同的数字")

print("2.首位可以为0")

print("3.命中表示数字和位置都对")

print("4.一击表示数字对但位置不对")

print("5.反复输入,直到全部猜中")

print("")

def change():   

    r=[0,0,0,0]

    print("请输入你认为正确的数:")

    c=input()

    c=int(c)

    a=c%1000

    a=c-a

    a=a/1000

    r[0]=int(a)

    c=c-r[0]*1000

    a=c%100

    a=c-a

    a=a/100

    r[1]=int(a) 

    c=c-r[1]*100

    a=c%10

    a=c-a

    a=a/10

    r[2]=int(a)

    c=c-r[2]*10 

    a=c%10

    r[3]=int(a)

    #print(r)

    return r

b=[0,0,0,0]

mz=0

yj=0

cs=0

while mz!=4:

    cs+=1

    b=change()

    index=[0,1,2,3]

    i=0

    j=0

    mz=0

    yj=0

    for i in index:

        for j in index:

            if (b[j]==a[i]) and (i==j):

                mz+=1

            if (b[j]==a[i]) and (i!=j):

                yj+=1 

        j+=1

        i+=1

    #if mz==4:

        #break

    #print("正确数是:",end="")

    #print(a[0],a[1],a[2],a[3],sep="")

    print("猜的数是:",end="")

    print(b[0],b[1],b[2],b[3],sep="")

    print("命中:",mz)

    print("一击:",yj)

    print("你猜的次数为:",cs)

    print("")

   

print("正确数是:",end="")

print(a[0],a[1],a[2],a[3],sep="")

print("猜的数是:",end="")

print(b[0],b[1],b[2],b[3],sep="")

print("恭喜你猜对了!")

print("你猜的次数为:",cs)

print("请按回车退出游戏")

上一篇 下一篇

猜你喜欢

热点阅读