Python 板


LINE

各位前辈好,小弟第一次在ptt发文,如有排版问题请见谅 关於while and break有点问题 前天期中考考了一题是定义了26个英文字母跟10个数字 5*4的点矩阵 使用者输入一行英文+数字要印出相对应的点矩阵, 如果是空格则输出五格空格 我已经做完他的要求了,但我想要加上条件限制 即如果输入的不是英文与数字,则印出error,并要求重新输入 如果输入的是英文与数字的组合,则印出点矩阵,并要求重新输入 我的问题是我以下程式码在不是英文与数字的组合的时候无法重新输入 我应该怎麽修改我的程式?我想了想卡住了= = 是不是跟break的用法有关? 另外一个问题是break的终止回圈是终止上一个for而已吗? 例如 for i in range(a): for j in range(b): print('yoyo') break 这个break是把两个for都跳出还是只有里面的for ? (抱歉小弟是第一次学程式语言,还只是个新手 QQ) 感谢大家读完 第一个问题的程式码:http://pastebin.com/PvGYN2Ur cmap = ( (4,10,17,31,17),(30,17,30,17,30),(14,17,16,17,14),(30,17,17,17,30), (31,16,30,16,31),(31,16,30,16,16),(31,16,19,17,31),(17,17,31,17,17), (14,4,4,4,14),(7,2,2,10,4),(17,18,28,18,17),(16,16,16,16,31), (17,27,21,17,17),(17,25,21,19,17),(14,17,17,17,14),(30,17,30,16,16), (14,17,21,19,15),(30,17,30,18,17),(31,16,31,1,31),(31,4,4,4,4), (17,17,17,17,14),(17,17,17,10,4),(17,17,21,27,17),(17,10,4,10,17), (17,10,4,4,4),(31,2,4,8,31) ) nmap =( (31,17,17,17,31),(4,4,4,4,4),(31,1,31,16,31),(31,1,31,1,31),(17,17,31,1,1), (31,16,31,1,31),(31,16,31,17,31),(31,2,4,8,8),(31,17,31,17,31),(31,17,31,1,31) ) while True: data = str.upper(input('ABC+123:')) for i in range(len(data)): if 48<ord(data[i])<90: print('ok:') break else: #<--------------------原文少打的部分 print('error 要怎麽重新输入Q_Q') break #<--------------------原文少打的部分 for i in range(5): print() for j in range(len(data)): print(' ',end="") for k in range(5): if 65<=ord(data[j])<=90: pdata=cmap[ord(data[j])-65][i] elif 48<=ord(data[j])<=57: pdata=nmap[ord(data[j])-48][i] dot=pdata//(2**(4-k))%2 if dot: print(data[j],end="") else: print(' ',end="") print('\n\n') 後来写的版本 1用try-except 2用if-else-break http://codepad.org/7Wq5cVRy http://codepad.org/APc3zaos --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.32.189.113
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Python/M.1400224494.A.0BB.html
1F:推 tiefblau:break是终止一层,没看到你error印在哪,单看叙述的话 05/16 15:23
2F:→ tiefblau:你学过continue这个用法吗、 05/16 15:23
3F:推 tiefblau:btw python 有 isdigit(),isalpha()可用 05/16 15:28
4F:→ ersfw4418:抱歉 我是印在while下第一个for 里面else里 05/16 16:11
5F:→ ersfw4418:网址里的是原本打的 05/16 16:11
6F:→ ersfw4418:可是如果是a='a1'这样 a.isalpha就会判定False 05/16 16:13
7F:→ ersfw4418:不过我是英文跟数字都可以 而其他像是~!@#$等等的不行 05/16 16:14
8F:→ ersfw4418:不过isdigit()跟isalpha()跟我设定ord()范围在数字到英 05/16 16:16
9F:→ ersfw4418:文这样不行吗?? 05/16 16:16
※ 编辑: ersfw4418 (114.32.189.113), 05/16/2014 16:20:01
10F:推 Microscft:例外的处理 怎麽不用try except? 05/16 19:58
11F:推 funnypeter:将输入list化再分析 05/16 20:21
12F:推 funnypeter:黏在一起无法判断,变list把它们分开,再判断 05/16 20:28
13F:→ ersfw4418:我後来查了try except的用法,分别用有else跟没else 05/17 03:18
14F:→ ersfw4418:各试了一次 有得出成功的结果了:) 另外得出错误跳出後 05/17 03:19
15F:→ ersfw4418:再检查一次的方法也成功了 感谢大大的回答 05/17 03:20
16F:→ ersfw4418:@fun大大 是list有什麽方法可以检查是否为数字跟英文吗 05/17 03:21
17F:→ ersfw4418:不然我用字串的编码[]去跑回圈测试是否为数字与英文是否 05/17 03:22
18F:→ ersfw4418:会比较慢 不过这样也能判断不是吗? 05/17 03:23
19F:→ ersfw4418:还是我误会您的意思了? 05/17 03:23
※ 编辑: ersfw4418 (114.32.189.113), 05/17/2014 03:34:21
20F:推 funnypeter:喔,都可以阿,你的写法是比较不pythonic 05/17 08:26
21F:推 funnypeter:我是给另外一个方式来判断,程式运作有很多种写法 05/17 08:29
22F:推 funnypeter:data=list(data);for I in data; 05/17 08:30
23F:推 funnypeter:if I.isdigit() or I.isalpha():......else: ..... 05/17 08:32
24F:→ ersfw4418:前面大大有说到isdigit(),isalpha()可以判断 05/17 12:40
25F:→ ersfw4418:哦 您的意思是一开始就list而不是str就可以个别判断了 05/17 12:41
26F:→ ersfw4418:pythonic的意思是尽量使用python已有的代码吗? 05/17 12:42
27F:→ ersfw4418:因为教授教的时候就说是想教程式设计而不是针对python 05/17 12:43
28F:→ ersfw4418:可能就是这样我才会不知道很多指令的用法吧Q_Q 05/17 12:44
29F:→ ersfw4418:我是个人对python特别有兴趣才去的 05/17 12:44
31F:→ uranusjr:Being Pythonic is not a skill; it's style. 05/17 14:39
32F:→ Microscft:如果不是要开发大型的专案 其实也不用鸟什麽style 05/17 19:42
33F:→ ersfw4418:感谢感谢 其实我现在大学所学的不太会用到程式语言 05/17 23:05
34F:→ ersfw4418:大概就是导入数据跟计算一些东西跟绘图 05/17 23:06
35F:→ ersfw4418:所以我想学好基本再看看能不能把scipy numpy matplotlib 05/17 23:07
36F:→ ersfw4418:学起来 05/17 23:07
37F:→ ersfw4418:(其实只是硬要把现在学的跟python扯上关系=_=) 05/17 23:08







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP