python3--随机数
以前刚接触python时,从一本书上看到过一个随机数的小程序,然后就自己改动,变为了一个猜数字的小游戏,现又在python3下重写了一遍。
里面所涉及的东西有:函数的定义、while循环、循环中断break、循环继续continue、if条件判断、输入input、print输出、random库的使用等,下一步还涉及到sqlite数据库的存取,计划再做图形界面,python编程基本的东西就差不多了。
这里先发一个控制台下的猜数程序,winxp+python3.2+eric5和IDLE测试通过,但直接用winxp的命令行运行有问题,原因还未知,慢慢找。ubuntu+python3.1测试通过。
#import random
def rand():
"""生成随机数,猜测循环"""
print("猜数字游戏开始,输入'q'结束,输入'a'自动猜数!")
a=random.randint(1, 100)
b=0 #猜测数字初始值
c=0 #猜测次数
while True:
b=input("请输入一个100以内整数:")
if b.isnumeric():
b=int(b)
c+=1
if a==b:
print("你猜了", c,"次猜对了!")
break
elif a>b:
print("小了")
else:
print("大了")
elif b=='q':
print("GOOD LUCK! BYE!")
break
elif b=='a':
c=auto(a, c)
print("你猜了", c,"次猜对了!")
break
else:
print("输入有误!")
continue
def auto(a, c=0):
'''自动猜数字函数,接收2个参数
a 表要猜的谜底数
c 是猜测次数计数
返回一个值c '''
b=random.randint(1, 100)
tmp_l=0
tmp_h=100
while b!=a:
c+=1
if b > a:
tmp_h=b
b=int((b+tmp_l)/2)
else:
tmp_l=b
b=int((b+tmp_h)/2)+1
print(c, b)
return(c)
if __name__ == '__main__':
rand()
暂无评论