讨论区 分享作业区 主题详情
ykt1487296417930
老师参与 第二次作业

#!/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


所有回复(1)

这个作业是基础暴漏贴,:)

到这章还没讲函数呢。

回复

最近活动:
创建时间:
浏览次数:608
关注人数:0