#!/usr/bin/env python
# coding: utf-8
#copyRight by heibanke
#第二次作业
#3.1 改进猜数字游戏
import random
secret = random.randint(1, 100)
guess,tries = 0,0
print u"你好, 你很幸运, 我是一个路过的神仙, 我有一个秘密!"
print u"我的秘密是一个从1到99的数字, 我只会给你6次机会来猜。"
print u"如果你猜到它, 那说明你真的很幸运, 赶紧去买彩票吧!"
while guess != secret and tries <6:
print u"你猜这个数字是多少? (1-100)"
guess_str = raw_input()
try:
guess=int(guess_str)
if guess == secret:
print u"哇~~~, 真的假的!你居然发现了我的秘密! 它就是: ", str(secret)
break
elif guess < secret:
print str(guess),u"太小了, 你还差点运气! "
elif guess > secret:
print str(guess),u"太大了, 你还差点运气! "
tries += 1
except ValueError:
print u'您猜的的不是数字,请重新输入哦'
tries += 1
else:
print u"你唯一的机会已被你用完了!看来你还需要再攒点人品!"
print u"还是让我告诉你吧!这个数字是: ", str(secret)
#3.2 &&3.3 模拟用户注册,登录
# -*- coding: cp936 -*-
def add_user():
import codecs
import re
fp=codecs.open("F:\\file_user1.txt","r","utf-8")
print u"请注册用户名:"
addUserName=raw_input()
if re.match(r"^[a-zA-Z][a-zA-Z|\d|\-|-]{3,}",addUserName):
for userName in fp:
str1=userName
userName_list=re.split(":| ",str1)
if addUserName != userName_list:
print u"您输入的用户名合法,请输入登录密码:"
judge_password(addUserName)
else:
print u"对不起,您输入的用户名已存在,请重新输入:"
add_user()
elif not re.match(r"^[a-zA-Z]",addUserName[0]):
print u"用户名必须字母开头,请重新输入:"
add_user()
elif len(addUserName)< 4:
print u"用户名长度至少为4,请重新输入:"
add_user()
else:
print u"用户名必须是字母数字下划线的组合,请重新输入:"
add_user()
def save_user(user,passWord):
import codecs
fp=codecs.open("F:\\file_user1.txt",'a','utf-8')
fp.write(u"用户名:"+user+" ")
fp.write(u"密码:"+passWord+"\r\n")
fp.close()
import hashlib
add_passWard=hashlib.sha512(passWord).hexdigest()
fp=codecs.open("F:\\file_user2.txt",'a','utf-8')
fp.write(u"用户名:"+user+" ")
fp.write(u"密码:"+add_passWard+"\r\n")
fp.close()
def judge_password(addUserName):
import re
UserName_password=raw_input()
if re.match(r"^[a-zA-Z|\d|\-|-]{6,}",UserName_password):
save_user(addUserName,UserName_password)
print u"恭喜您注册成功"
elif len(UserName_password)<6:
print u"密码长度必须不小于6位,请重新输入:"
judge_password(addUserName)
else:
print u"您输入的密码不合法,密码必须字母数字下划线组成,请重新输入:"
judge_password(addUserName)
add_user()
#3.4 公交车站查询
#coding:utf-8
import csv
import re
station=[]
fp=open("F:\\beijing_jt.csv","r")
reader=csv.DictReader(fp)
column_station=[row['station'] for row in reader]
#设置文件指针回到原点
fp.seek(0)
reader2=csv.DictReader(fp)
linenum=[row['linenum'] for row in reader2]
for xx in column_station:
station.append(''.join(re.findall(r"[^\d|\n]+",xx)))
#将两个列表转化成一个字典
dir_BjStation=dict(zip(linenum,station))
print u"请输入公交站名字:"
seek_station=raw_input()
for (key, value) in data.items():
if value.startswith(seek_station):
match_station[key] = value
print match_station