登录 注册

python初学者的自我修养

这个寒假主要的成绩是自学了一点点python。然后嘛,根据剧本,不管我新学什么语言我都要用他来编一个小游戏。。。

#!/usr/bin/python
#coding=UTF-8
maxium=100
maxtime=8

#this function returns a number input from user,and the num ranges from nowmin to nowmax
def inp_num(s='input a num:',nowmin=1,nowmax=maxium):
	num=int(raw_input(s))
	while num not in range(nowmin,nowmax):
		num=int(raw_input('''its not a num from '''+str(nowmin)+'''~'''+str(nowmax)+'''
please input again:'''))
	return num

#this function returns a string filled with blank
def longspace(length):
	return "".zfill(length).replace("0"," ")

#this function prints a graph,whose width is wid
#and the graph depends on lst,each element makes a line
#the blank string element makes a blank line
#a list element makes some words,the first element of the list is the content
#and the second element is the showing style,c means center,l means left and r means right
def graph(wid,lst):
	maxstr='*'
	empty='*'
	for tmp in range(0,wid):
		maxstr+='*'
		empty+=' '
	maxstr+='*'
	empty+='*'
	print maxstr
	for tmp in lst:
		if tmp=='':
			print empty
		else:
			if len(tmp)==1 or tmp[1]=='c':
				print '*'+tmp[0].center(wid)+'*'
			elif tmp[1]=='l':
				print '*'+tmp[0]+longspace(wid-len(tmp[0]))+'*'
			elif tmp[1]=='r':
				print '*'+longspace(wid-len(tmp[0]))+tmp[0]+'*'
	print maxstr

#the main procedure of the guessing game
def game():
	print 'Game Start'
	tar=random.choice(rg)
	nowmin=1
	nowmax=maxium
	time=maxtime
	temp=inp_num("input your first guess,range from "+str(nowmin)+" to "+str(nowmax)+":")
	while time>0 and temp!=tar:
		if temp>tar:
			print "Too big,"+str(time)+" times left"
			nowmax=temp
		else:
			print "Too small,"+str(time)+" times left"
			nowmin=temp
		time=time-1
		temp=inp_num("input your next guess,range from "+str(nowmin)+" to "+str(nowmax)+":",nowmin,nowmax)
	else:
		if temp==tar:
			graph(25,['',['You Win'],['In '+str(time)+' Times'],''])
		else:
			graph(25,['',['You Lose'],['Answer is '+str(tar)],''])

#the main part of this program
import random
rg=range(1,maxium)
graph(30,['','',['Guessing Game','c'],['by Octopus ','r'],'',''])
s="y"
while s.lower()=="y":
	game()
	s=raw_input("wanna play again?[y/n]:")

2016
02 24
上一篇
Older
下一篇
Newer
评论
0
点击
1775
发布
我是标题
我是文字
我是标题
我是文字
用户名
密码
用户名
密码
重复密码
努力的加载中.....