设为首页 收藏本站
查看: 1334|回复: 0

[经验分享] Python核心编程练系题8-12

[复制链接]

尚未签到

发表于 2017-5-7 10:00:00 | 显示全部楼层 |阅读模式
  编写一个程序,用户给出起始和结束数字后,输出一下内容,显示出两个数字之间所有整形的十进制,二进制,八进制和十六进制表示。如果字符时可以打印的ASCII字符,者要打印出来,如果没有一个是可以打印字符,就省略ASCII那一栏

'''
小e
输出一定范围内字符的不同表示
'''
import string
from string import Template
def numberPrint(start,end):
if chr(end) in string.printable:#判断字符时候是可打印的,根据不同情况创建不同的字符串模板
title = 'DEC\tBIN\tOCT\tHEX\tASCII'
ascState = True
t = Template("${decS}\t${binS}\t${octS}\t${hexS}\t${ascS}")
else:
title = 'DEC\tBIN\tOCT\tHEX'
ascState = False
t = Template("${decS}\t${binS}\t${octS}\t${hexS}")
print(title + '\n' + '-'*50)
print(ascState)
print('start:%d\tend:%d'%(start, end))
for i in range(start,end):
if ascState:
print(t.substitute(decS = i,binS = bin(i),octS = oct(i),hexS = hex(i),ascS = chr(i)))
else:
print(t.substitute(decS = i,binS = bin(i),octS = oct(i),hexS = hex(i)))
def show():
print('输入起始值和结束值,输出区间内每个数的不同表示')
while True:
start = int(input('起始值:').strip())
end = int(input('结束值:').strip())
if start == end and end == 0:
break
if start > end:
print('输入有误')
continue
print('start:%d\tend:%d'%(start, end))
numberPrint(start,end)
if __name__ == '__main__':
show()  

  Output:
  输入起始值和结束值,输出区间内每个数的不同表示
起始值:1
结束值:20
start:1 end:20
DEC BIN OCT HEX
--------------------------------------------------
False
start:1 end:20
1 0b1 0o1 0x1
2 0b10 0o2 0x2
3 0b11 0o3 0x3
4 0b100 0o4 0x4
5 0b101 0o5 0x5
6 0b110 0o6 0x6
7 0b111 0o7 0x7
8 0b1000 0o10 0x8
9 0b1001 0o11 0x9
10 0b1010 0o12 0xa
11 0b1011 0o13 0xb
12 0b1100 0o14 0xc
13 0b1101 0o15 0xd
14 0b1110 0o16 0xe
15 0b1111 0o17 0xf
16 0b10000 0o20 0x10
17 0b10001 0o21 0x11
18 0b10010 0o22 0x12
19 0b10011 0o23 0x13
起始值:60
结束值:80
start:60 end:80
DEC BIN OCT HEX ASCII
--------------------------------------------------
True
start:60 end:80
60 0b111100 0o74 0x3c <
61 0b111101 0o75 0x3d =
62 0b111110 0o76 0x3e >
63 0b111111 0o77 0x3f ?
64 0b1000000 0o100 0x40 @
65 0b1000001 0o101 0x41 A
66 0b1000010 0o102 0x42 B
67 0b1000011 0o103 0x43 C
68 0b1000100 0o104 0x44 D
69 0b1000101 0o105 0x45 E
70 0b1000110 0o106 0x46 F
71 0b1000111 0o107 0x47 G
72 0b1001000 0o110 0x48 H
73 0b1001001 0o111 0x49 I
74 0b1001010 0o112 0x4a J
75 0b1001011 0o113 0x4b K
76 0b1001100 0o114 0x4c L
77 0b1001101 0o115 0x4d M
78 0b1001110 0o116 0x4e N
79 0b1001111 0o117 0x4f O
起始值:

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-374073-1-1.html 上篇帖子: Python使用xml.etree.ElementTree操作xml文件 下篇帖子: 在 Python 中模拟 C 的枚举类型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表