python练手小程序新手求教~我要写一个筛选倍数的小程序~

Python GUI 教程 25行代码写一个小闹钟 - Python GUI教程 - Win Python|PyQt|Tkinter|Python游戏
官方微博:
Python GUI 教程 25行代码写一个小闹钟
今天我们讲一下用Python写的GUI小程序。一个小闹钟(只是屏幕提示,没有声音哦)让我们先介绍这个闹钟如何奇葩。需要通过命令行启动。没有...
今天我们讲一下用Python写的GUI小程序。一个小闹钟(只是屏幕提示,没有声音哦)让我们先介绍这个闹钟如何奇葩。需要通过命令行启动。没有标题栏。没菜单。甚至没有关闭按钮。没有运行界面。看到这里想必大家要问了,何必去做一个这样弱爆了的程序呢。显然,教育意义大于其实际用处。像其他的模块一样,QT界面包是需要加载的。我们用到了命令行输入,所以,sys模块也是必须的。用到了时间,但是我们不需要使用time模块,我们用QT提供的QTime模块。让我们先写import 语句部分。import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
app = QApplication(sys.argv)这是一个控制qt程序命脉的类,之后我们会慢慢解释。在每一个Qt程序中,都会找到类似的语句。之后就是输入闹钟时间了。上程序。try:
message = "Alert!"
if len(sys.argv) & 2:
raise ValueError
hours, mins = sys.argv[1].split(":")
due = QTime(int(hours), int(mins))
if not due.isValid():
raise ValueError
if len(sys.argv) & 2:
message = " ".join(sys.argv[2:])
except ValueError:
message = "Usage: alert.pyw HH:MM [optional message]"其中包含了异常处理,对于一个应用程序,我们应该将所有的异常情况都考虑进去。程序中使用raise 来触发异常。迫使程序进入我们的预想轨道。显然,上面的程序是不够的,它并没有时间判断和GUI部分。如何判断时间是否到了呢,我们给出一个不是特别准确的方法,定时判断。import time
while QTime.currentTime() & due:
time.sleep(20)当时间到了我们就会跳到下一步,创建一个窗体,延迟60s 后关闭。label = QLabel("&font color=red size=72&&b&" + message + "&/b&&/font&")
label.setWindowFlags(Qt.SplashScreen)
label.show()
QTimer.singleShot(60000, app.quit) # 1 minute
app.exec_()看来,我们又需要写一个关于 QTime模块的介绍了。现在把所有的句子放在一起。让我们测试下。附完整代码:import sys
import time
from PyQt4.QtCore import *
from PyQt4.QtGui import *
app = QApplication(sys.argv)
message = "Alert!"
if len(sys.argv) & 2:
raise ValueError
hours, mins = sys.argv[1].split(":")
due = QTime(int(hours), int(mins))
if not due.isValid():
raise ValueError
if len(sys.argv) & 2:
message = " ".join(sys.argv[2:])
except ValueError:
message = "Usage: alert.pyw HH:MM [optional message]" # 24hr clock
while QTime.currentTime() & due:
time.sleep(20) # 20 seconds
label = QLabel("&font color=red size=72&&b&" + message + "&/b&&/font&")
label.setWindowFlags(Qt.SplashScreen)
label.show()
QTimer.singleShot(60000, app.quit) # 1 minute
app.exec_()
相关文章:
相关词搜索:
如对本文内容有疑问,或想进一步交流学习,欢迎通过以下方式:
2. python技术互助群:
群④ : (已满)
3. 关注PythonTab微信,获取精彩资讯教程,公众号:Pythontab中文网
版权声明:本站文章除非注明,均为原创内容,如需转载请务必注明出处,违者本站保留追究其法律责任之权利。
频道总排行
频道本月排行新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分0 积分80阅读权限10帖子精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
白手起家, 积分 80, 距离下一级还需 120 积分
帖子主题精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
论坛徽章:0
本帖最后由
16:45 编辑
将6位以内的整数加密成10位数的数字+字母的字符串
& && &1.可解密
& && &2.差异性大,任何两个相邻数字,加密后的字符串要相差非常大
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分80阅读权限10帖子精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
白手起家, 积分 80, 距离下一级还需 120 积分
帖子主题精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
论坛徽章:0
有兴趣的可以交流下,qq::
UID空间积分0 积分1330阅读权限30帖子精华可用积分1330 信誉积分158 专家积分0 在线时间320 小时注册时间最后登录
家境小康, 积分 1330, 距离下一级还需 670 积分
帖子主题精华可用积分1330 信誉积分158 专家积分0 在线时间320 小时注册时间最后登录
论坛徽章:0
&&& import base64
&&& v1='mypassword111'
&&& print v1
mypassword111
&&& env1=base64.b64encode(v1)
&&& print env1
bXlwYXNzd29yZDExMQ==
&&& base64.b64decode('bXlwYXNzd29yZDExMQ==')
'mypassword111'
&&&复制代码
UID空间积分0 积分232阅读权限20帖子精华可用积分232 信誉积分286 专家积分0 在线时间272 小时注册时间最后登录
稍有积蓄, 积分 232, 距离下一级还需 268 积分
帖子主题精华可用积分232 信誉积分286 专家积分0 在线时间272 小时注册时间最后登录
论坛徽章:0
是不是可以用矩阵
用个秩为6的 10*6的整数矩阵A,与原始密码的每位当做一个值,看成一个列向量x,矩阵一乘就可以了,可以得到一个10维的列向量,但是不能保证列向量里的每个值都在36以下。
反变换可以通过解线性方程组来解得,矩阵A就是加密矩阵。
UID空间积分0 积分80阅读权限10帖子精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
白手起家, 积分 80, 距离下一级还需 120 积分
帖子主题精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
论坛徽章:0
代码是可以运行,但是看清题目
将6位以内的整数加密成10位数的数字+字母的字符串
UID空间积分0 积分3296阅读权限50帖子精华可用积分3296 信誉积分222 专家积分0 在线时间451 小时注册时间最后登录
小富即安, 积分 3296, 距离下一级还需 1704 积分
帖子主题精华可用积分3296 信誉积分222 专家积分0 在线时间451 小时注册时间最后登录
论坛徽章:0
UID空间积分0 积分80阅读权限10帖子精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
白手起家, 积分 80, 距离下一级还需 120 积分
帖子主题精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
论坛徽章:0
本帖最后由
11:25 编辑
坐等高手解答
UID空间积分0 积分80阅读权限10帖子精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
白手起家, 积分 80, 距离下一级还需 120 积分
帖子主题精华可用积分80 信誉积分180 专家积分0 在线时间153 小时注册时间最后登录
论坛徽章:0
原来可以使用进制转换:wink:
UID空间积分0 积分55阅读权限10帖子精华可用积分55 信誉积分141 专家积分0 在线时间8 小时注册时间最后登录
白手起家, 积分 55, 距离下一级还需 145 积分
帖子主题精华可用积分55 信誉积分141 专家积分0 在线时间8 小时注册时间最后登录
论坛徽章:0
借用一下DES算法的过程
比如密钥是6位整数+4位附加码,比如 2
整数明文 153206
加密过程:
将密钥折成两部分 整数前3位+附加码前2位,整数后3位和附加码后2位: 折出来就是56851 和24912
明文也折成两部分 前3位和后3位,折后 153和206
密钥和明文前部分和前部分相加,后部分和后部分相加
=&&...&&=...
这样折过之后数据打乱了,相邻的数字有差异,如果差异不大,可以再用类似的方法再来一次折密钥,比如反着来,或者提1,3,5位组成前部分。怎么样加密取决于这个乱的过程。
另外,这个加密最多只能有4次,再加值就有可能超过36,没有字母可用了。
解密的过程就是逆过程了,反着操作就行了。
UID空间积分0 积分22阅读权限10帖子精华可用积分24 信誉积分386 专家积分0 在线时间293 小时注册时间最后登录
白手起家, 积分 22, 距离下一级还需 178 积分
帖子主题精华可用积分24 信誉积分386 专家积分0 在线时间293 小时注册时间最后登录
论坛徽章:0
本帖最后由 moonflow 于
12:45 编辑
我娱乐一个import random
def encrypt(s):
& & tlist = []
& & n = len(s)
& & addsize = 10 - n -1
& & data = [random.randint(0,10) for i in range(addsize)]
& & slist = [n] + data + list(s)
& & for element in slist:
& && &&&element = (int)(element)*8 + 32
& && &&&element = chr((int)(element))
& && &&&tlist = tlist + [element]
& & tlist = ''.join(tlist)
& & return tlist
def decrypt(s):
& & tlist = []
& & for element in s:
& && &&&element = ord(element)
& && &&&element = ((int)(element)-32)/8
& && &&&element = str(element)
& && &&&tlist = tlist + [element]
& & numsize = int(tlist[0])
& & tlist = tlist[10-numsize:10:1]
& & tlist = ''.join(tlist)
& & return tlist
& &
if __name__ == '__main__':
& & s = &4347&
& & encryptstr=encrypt(s)
& & print encryptstr
& & decryptstr=decrypt(encryptstr)
& & print decryptstr复制代码结果:@hX`P(@8@X
4347复制代码
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处求python计算机语言大神帮忙写一个小程序,大概几行代码,我没时间研究了,真心谢谢了_百度知道
求python计算机语言大神帮忙写一个小程序,大概几行代码,我没时间研究了,真心谢谢了
使用python写一个成绩录入和排序系统,要求能输入姓名,姓名可以并建议是英文输入:可以输入成绩:可以通过判断结束输入,可对已经输入的成绩进行排序,并显示已经输入的姓名和成绩。写出来最好能私信给我不要把代码写到网上,谢谢了,真心谢谢了,我所有的分送上!!!!
提问者采纳
哈哈 这个已经有别人问过了,而且还是我回答的,我说好熟悉的感觉。你看看,会不会是你们专业的呢&代码如下:#-*-coding:utf-8-*-class&Student(object):&&&&&&&&&&&自定义Student类&&&&&&&&&&&def&__init__(self,&name,&score):&&&&#&初始化Student,参数name,score&&&&&&&&self.name&=&name&&&&&&&&self.score&=&score&&&&def&__cmp__(self,&other):&&&&#&重写比较方法,根据Student类属性score进行比较&&&&&&&&return&cmp(self.score,&other.score)&&&&def&show(self):&&&&&&&&return&'name:'+self.name+';&score:'+str(self.score)&def&get_input():&&&&name&=&raw_input('input&name&&&')&&&&if&not&name:&#&当姓名输入为空时,返回None&&&&&&&&return&(None,None)&&&&score&=&raw_input('input&%s\'s&score&&&'&%&name)&&&&if&name&and&score:&&&&&&&&return&(name,int(score))&#&为方便比较,将score强制转换为int型&&&&else:&&&&&&&&return&(None,None)&def&main():&&&&s_list&=&[]&&&&while&True:&#&一直循环输入姓名及成绩&&&&&&&&name,score&=&get_input()&&&&&&&&if&name&and&score:&&&&&&&&&&&&s&=&Student(name,&score)&&&&&&&&&&&&s_list.append(s)&&&&&&&&else:&#&当输入姓名或成绩为空时跳出循环&&&&&&&&&&&&break&&&&s_list.sort()&#&对Student实体进行排序&&&&for&i,s&in&enumerate(s_list):&#&遍历已经排序的实体列表,并进行显示&&&&&&&&print&'&'.join([str(i+1),&s.name,&str(s.score)])&if&__name__&==&'__main__':&&&&main()输入及输出如下input&name&&&ainput&a's&score&&&97input&name&&&binput&b's&score&&&95input&name&&&cinput&c's&score&&&96input&name&&&1&b&952&c&963&a&97注释很详细了,应该能看懂
谢谢大神,能加一下你的qq么?
不是什么大神,自学python俩月左右而已
提问者评价
太给力了,你的回答完美的解决了我的问题!
其他类似问题
为您推荐:
python的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何用python编写一个小程序,作业的,不用大的。比如让里面的人动几下,或者很小的小游戏之类的,求高手_百度知道
如何用python编写一个小程序,作业的,不用大的。比如让里面的人动几下,或者很小的小游戏之类的,求高手
要求程序编写的全部内容,另外说一下是什么样的程序。3Q
我有更好的答案
用pygame编的游戏行不行?qq是:到时候给你图片和代码
其他类似问题
为您推荐:
python的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Python写的ATM小程序_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Python写的ATM小程序
来源:Linux社区&
作者:bxuan
准备好好学学Python了,要不快没饭吃了,这两个礼拜看了一些视频教程和书籍,遂拿这个ATM小程序练练手。
文件结构:
程序共有6个py文件和3个文本文件
cashin.py& -- 还款模块goods_list& -- 商品列表login.py -- 主文件menu.py -- 菜单模块printlist.py& -- 记录打印模块record_tran.txt& -- 用户操作记录shopping.py -- 购买模块user_list -- 用户列表withdraw.py -- 提现模块
#!/usr/bin/python&
import sys
from menu import menu_show
while True:
& & user = str(raw_input("\033[1;32;40mPlease input your name:\033[0m"))
& & f = open('user_list','r+')
& & for line in f.readlines():
& & & & n = str(line.split()[0])
& & & & p = str(line.split()[1])
& & & & if user == n:
& & & & & & while True:
& & & & & & & & password = str(raw_input("\033[1;32;40mPlease input your password:\033[0m"))
& & & & & & & & if password != p:
& & & & & & & & & & print "\033[1;31;40mThe password is incorrect\033[0m"
& & & & & & & & & & continue
& & & & & & & & else:
& & & & & & & & & & print "\033[1;32;40myes let you in.\033[0m"
& & & & & & & & & & global money
& & & & & & & & & & money_total = 15000
& & & & & & & & & & while True:
& & & & & & & & & & & & print "\033[1;33;40mYou total money is: \033[0m",money_total
& & & & & & & & & & & & money_total = menu_show(user,money_total)
& & & & else:
& & & & & & print "\033[1;31;40mThe user is not vaild, please re-input:\033[0m"
& & & & & & continue&
#!/usr/bin/python
import sys
from shopping import show_shopping_list
from printlist import print_list
from withdraw import with_draw
from cashin import cash_in
def menu_show(n,mo):
& & print "Welcome %s, This is the ATM system:" %n
& & print "Select what you want to do:"
& & print " 1. Shopping"
& & print " 2. Withdraw"
& & print " 3. Cash in"
& & print " 4. Print list"
& & print " 5. Exit"
& & user_input = int(raw_input("Input 0 ~ 5 "))
& & global current_user
& & current_user = n
& & mo = menu_select(user_input,mo)
& & return mo
def menu_select(input,money):
& & if input == 1:
& & & & money = show_shopping_list(current_user,money)
& & if input == 2:
& & & & money = with_draw(current_user,money)
& & if input == 3:
& & & & money = cash_in(current_user,money)
& & if input == 4:
& & & & print_list(current_user)
& & if input == 5:
& & & & print "\033[1;33;40mThank you for using ATM, Good bye!\033[0m"
& & & & sys.exit()
& & return money
shopping.py
#!/usr/bin/python
import sys
import time
def show_shopping_list(n,m):
& & #read the file to a dictionary
& & goods_dict={}
& & goods = open('goods_list','r+')
& & for line in goods.readlines():
& & & & key = line.split()[0]
& & & & value = line.split()[1]+' '+line.split()[2]
& & & & goods_dict[key] = value
& & #print the goods list
& & print "The current user is %s." %n
& & print goods_dict&
& & #decrease the money
& & buy_number = int(raw_input("Please select which one you want to buy:"))
& & goods_name = goods_dict[`buy_number`].split()[0]
& & goods_value = int(goods_dict[`buy_number`].split()[1])
& & m = calculate(int(m),goods_value)
& & #record the log
& & shopping_file_write(n,goods_name,goods_value,0)
& & return m
def calculate(qian,pri):
& & new_qian = qian - pri
& & return new_qian
def shopping_file_write(user,name,price,fee):
& & tran_time=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
& & spath = "record_tran.txt"
& & f = open(spath,'a')
& & f.write("%s|%s|%s|%d|%d& \n"& %(user,tran_time,name,price,fee))
& & f.close()&
withdraw.py
#!/usr/bin/python
import time
#withdraw function
def with_draw(n,m):
& & print "Hello %s, you account have %d RMB." %(n,m)
& & print "Attention: There are 5% fee per withdraw !"
& & draw = int(raw_input("Please input how much money you want to with draw:"))
& & m = m - draw * 1.05
& & #record to the log
& & withdraw_file_write(n,draw)
& & return m
def withdraw_file_write(user,withdraw):
& & shouxufei = cash * 0.05
& & tran_time=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
& & spath = "record_tran.txt"
& & f = open(spath,'a')
& & f.write("%s|%s|withdraw|%d|%d& \n" %(user,tran_time,withdraw,shouxufei))
& & f.close()
#!/usr/bin/python
import time
#cash in function
def cash_in(n,m):
& & print "Hello %s, your account have %d RMB now." %(n,m)
& & cash = int(raw_input("Please input how much money you want to save in :"))
& & m = m + cash
& & cashin_file_write(n,cash)
& & return m
def cashin_file_write(user,cashin):
& & tran_time=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
& & spath = "record_tran.txt"
& & f = open(spath,'a')
& & f.write("%s|%s|cashin|%d|0& \n"& %(user,tran_time,cashin))
& & f.close()
printlist.py
#!/usr/bin/python
#select current user's bill
def print_list(n):
& & print "Hello %s, Here is your bill:" %n
& & print "Account|Date|Goods|Price|Fee"
& & spath1 = "./record_tran.txt"
& & f1 = open(spath1,'r')
& & for line in f1.readlines():
& & & & if line.split('|')[0] == n:
& & & & & & print line
goods_list
1& Car& 250000
2& Clothes&
3& Shoes& 199
4& Iphone5s&
5& Coffee&
6& Foods& & 68
7& Bicycle&
example of record_tran.txt
user1| 16:59:27|Iphone5s|4999|0&
user2| 16:59:31|withdraw|1000|50&
user1| 16:59:56|withdraw|500|25&
user2| 14:38:33|cashin|3456|0&
user2| 14:39:10|Coffee|35|0
《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版]
《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]
Python脚本获取Linux系统信息
在下用Python搭建桌面算法交易研究环境
Python 语言的发展简史
Python 的详细介绍:Python 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (08/14/:56)
& (12/18/:55)
& (09/05/:10)
& (02/15/:50)
& (02/03/:59)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款

我要回帖

更多关于 python 简单小程序 的文章

 

随机推荐