这里来写一个python猜数字的游戏。


#coding:utf-8

import random
real_num = random.randrange(10)

retry_count = 0
while retry_count <= 2 :
    guess_num = raw_input("Please guess the real num:").strip()
    if len(guess_num) ==0:
        continue
    if guess_num.isdigit() :
        guess_num = int(guess_num)
    else:
        print "you need input a integer instead of string"
    if guess_num > real_num:
        print "Wrong! you need try smaller!"
    elif guess_num < real_num:
        print "Wrong! you need try bigger!"
    else:
        print "Congratulations! you got it!"
        break

    retry_count +=1
else:
    print "The real num is",real_num


/*继续,来说明一下这个脚本。先载入一个random模块。

将real_num赋值,10以内的数字。

定义一个退出的方法,如果retry_count =1 就退出while循环执行后面的else了

retry_count 定义用户最多 可以输入3此,因为系统是从0开始计算的。

定义一个guess_num,让用户输入

判断用户输入的不为空,如果为空就countinue

如果用户输入的值,不是数字,则转换为数字,并告诉用户让他输入数字。

如果用户输入的guess_num大于 或 小于 real_num,返回对应的print

real_num 在最上面,我们定义的这是个10以内的值。还记得吧

guess_num为用户输入的值。

不大于也不小于,那么就执行else 告诉用户 就是这个数字了。

循环到这里retry_count +=1 整个过程 执行了 1 次,用户最多可以执行3次。


在最后,如果用户3次循环完了,还没有猜中,那么执行 最后一个else,最后一个else在最外层。

*/



来优化一下。

#coding:utf-8

import random
real_num = random.randrange(10)
retry_count =0
while retry_count <=2:
        guess_num = int(raw_input("Please guess the real num:"))
        if guess_num > real_num:
                print "Wrong! your need try smaller!"
        elif guess_num < real_num:
                print "Wrong! your need try bigger!"
        else:
                print "You guessed it!"
                break
        retry_count +=1
else:
        print "The real num is :",real_num