Python_自学程序1_模拟打印机
2017-11-28 11:29
120 查看
# -*- coding: cp936 -*-
print "Welcom to the X-Printer.\n请输入正确格式,如:\n输入:1,2,6,009-011,14,15,18-21\n结果:1,2,6,9,10,11,14,15,18,19,20,21\n"
while True:
pages = raw_input("请输入需要打印页码:")
##########################################################################判断格式
if pages.isdigit():
if int(pages) == 0 :#输入0,00,000等
page_format = 0
print "格式错误,请重新输入!"
else: print int(pages)
else:
group = pages.split(',')#非0页码进行分组
page_format = 0
for i in range(len(group)):#判断格式是否正确
#情况一:纯数字
if group[i].isdigit():
if int(group[i]) == 0:#分组含0页码
page_format = 0
break
if int(group[i]) != 0:#分组为非0页码
page_format = 1
#情况二:非纯数字
else:
page_format = 0
if '-' in group[i] and group[i].count('-') == 1:#第1步:判断有且仅有1个‘-’
if group[i].index('-') != 0 and group[i].index('-') != len(group[i])-1:#第2步:判断‘-’位于每个分组中间
segment = group[i].split('-')#第3步:分片
if segment[0].isdigit() and segment[1].isdigit():#第4步:判断num1&num2是否合法
former = int((segment[0]))
latter = int((segment[1]))
if former != 0 and latter != 0 and former < latter:
page_format = 1
else:break
else:break
else:break
if page_format == 0:break
############################################################################输出页码
if page_format == 0: print "格式错误,请重新输入!"
if page_format == 1: #输出合法页码
for k in range(len(group)):
#纯数字的打印
if group[k].isdigit():
print int(group[k])
#含Num1-Num2的打印
elif '-' in group[k]:
segment_right = group[k].split('-')
former_right = int(segment_right[0])
latter_right = int(segment_right[1])
for n in range(former_right, latter_right+1):
print n
print '\n'
print "Welcom to the X-Printer.\n请输入正确格式,如:\n输入:1,2,6,009-011,14,15,18-21\n结果:1,2,6,9,10,11,14,15,18,19,20,21\n"
while True:
pages = raw_input("请输入需要打印页码:")
##########################################################################判断格式
if pages.isdigit():
if int(pages) == 0 :#输入0,00,000等
page_format = 0
print "格式错误,请重新输入!"
else: print int(pages)
else:
group = pages.split(',')#非0页码进行分组
page_format = 0
for i in range(len(group)):#判断格式是否正确
#情况一:纯数字
if group[i].isdigit():
if int(group[i]) == 0:#分组含0页码
page_format = 0
break
if int(group[i]) != 0:#分组为非0页码
page_format = 1
#情况二:非纯数字
else:
page_format = 0
if '-' in group[i] and group[i].count('-') == 1:#第1步:判断有且仅有1个‘-’
if group[i].index('-') != 0 and group[i].index('-') != len(group[i])-1:#第2步:判断‘-’位于每个分组中间
segment = group[i].split('-')#第3步:分片
if segment[0].isdigit() and segment[1].isdigit():#第4步:判断num1&num2是否合法
former = int((segment[0]))
latter = int((segment[1]))
if former != 0 and latter != 0 and former < latter:
page_format = 1
else:break
else:break
else:break
if page_format == 0:break
############################################################################输出页码
if page_format == 0: print "格式错误,请重新输入!"
if page_format == 1: #输出合法页码
for k in range(len(group)):
#纯数字的打印
if group[k].isdigit():
print int(group[k])
#含Num1-Num2的打印
elif '-' in group[k]:
segment_right = group[k].split('-')
former_right = int(segment_right[0])
latter_right = int(segment_right[1])
for n in range(former_right, latter_right+1):
print n
print '\n'
相关文章推荐
- Python_自学程序2_模拟通讯录_待完善
- 用python写的模拟系统登录三次验证简单程序
- Python学习笔记(控制台程序):模拟登录
- 开发记录_自学Python写爬虫程序爬取csdn个人博客信息
- 用Python的面向对像开发傻B的模拟人生故事的程序
- Python自学遇到的小问题——交互模式下程序从某句直接运行了
- python循环之for循环与模拟购物车小程序
- Python 模拟登陆程序
- rabbitmq的安装和命令介绍及python程序模拟生产者和消费者
- python实现的某网页模拟点赞程序
- python小程序 atm模拟
- python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为
- 开发记录_自学Python写爬虫程序爬取csdn个人博客信息
- 基于python的模拟鼠标进行百度知道自动签到程序
- 北邮人论坛python模拟登录程序
- python简单模拟数据库程序
- Python程序练习3--模拟购物车
- python_程序模拟浏览器请求及会话保持
- Python自学4:Python的程序流程
- Python 自学笔记(二)第一个程序 Hello World