您的位置:首页 > 编程语言 > Python开发

python 试验7 简单抽奖程序

2016-04-22 18:59 429 查看
一、实验内容

1.奖池中电话号码通过文件输入,文件中每一行一个电话号码;

2.在控制台中每 100 毫秒在新行输出一个电话号码,模拟滚动效果;

3.用户单击回车键,停止滚动,输出中奖号码。

4.命令行:python lucky.py filename

a) lucky.py 为编写的 Python 代码文件;

b) filename 为奖池文件的路径;

c) 程序执行结果输出到控制台 stdout;

d) 处理文件不存在异常。

5.程序效果:

C:\temp>python lucky.py pool.txt

滚动开始(输入回车,滚动停止):

13155566543

......

中奖的号码为:15966668888

      参考提示

1.依次从文件读取电话号码到一个列表,利用随机数模块打乱列表;

2.将打乱后的列表在控制台滚动输出;

3.利用 msvcrt 模块获取键盘输入,利用 kbhit()函数判断是否有键盘输入可读,如果有

则判断是否是回车键,是则退出。判断代码:

if msvcrt.kbhit():

k = msvcrt.getch()

if k in "\r\n": break

4.Msvcrt 模块参考 https://docs.python.org/2/library/msvcrt.html
二、新知识

1.随机数程序

2.msvcrt.kbhit()只能在命令行控制,不要问我为什么知道。。。。。

三、代码

# -*- coding: utf-8 -*-

# -*- coding:gb2312 -*-

import sys

import random

import time

import msvcrt

if __name__=="__main__":

    fo=open("pool.txt","r+")

    i=0

    N=8

    list=[]

    

    while i<8:

        list.append(fo.readline(50))

        print list[i],

        i=i+1

    random.shuffle(list)

    print "the random is \n"

    

    

    for i in range(1,8):

        if msvcrt.kbhit():

            k = msvcrt.getch()

            if k in "\r\n": break

        else:

            print list[i],

            time.sleep(2)  #进程延迟命令,变量单位为秒

            i=i+1

  

        

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: