半年前写过一个类似的文章盘点那些让人上火的提问方式(论如何让交流更高效),大概整理了一些教书多年来遇到的一些很难回答的问题。最近半年又遇到了一些,补充几个: 1、问:老师,为啥我的代码不能运行呢? 但是,我都不知道你的代码是什么样的啊啊啊啊啊啊啊啊!!!! 2、老师,我是**(山东省外某地)的,特别喜欢Python,你能教我吗? 可以,我每学期都在学校开Python课,欢迎来免费蹭课。。。。。 3、老师,我有个特别特别简单的问题,但是我想了很久也没想明白,你能帮我看看吗? 你是学哲学的呢还是要给我下套呢? 4、老师,我遇到个Python问题,我是这么想的:第一步先***,第二步再***,然后再***,最后***,请问这样可以吗? 步骤都设计好了,试试就知道行不行了啊!!!! 5、老师,为啥我的Socket程序客户端连接不上服务端呢? 代码截图!!!!!错误界面截图!!!!!! 6、老师,请问你会用Python做网站吗? 请直接描述遇到了什么问题!!!!!! 7、老师,我有个代码看不懂,你能帮我讲讲吗?(发过来一个链接,我打开一看大概有十几页) 噗!!!!!! 8、老师,你说我是该学Python呢还是学C语言呢? 卖包子的那个老板你好,我想到隔壁买个饼吃,你觉得怎么样? 你的问题入选了吗?^_^ 建议: 不管问谁,不管问什么问题,请一定要在经过深入思考并大量搜索和验证后,如果仍无法解决,再详细描述问题,并配上代码截图和运行错误界面截图,这样可以进行最有效最高效的交流和沟通,可以在最短的时间内解决问题。 -------我是分割线------- 昨日习题参考代码:问题请参考Python字符串split()和join()方法应用一例文章最后的描述。 def convert(strNumber): # 考虑小数的情况 temp = strNumber.split('.', 1) # 整数部分 first = temp[0] if not first.isdigit(): return '不是有效数字' # 小数部分 try: second = temp[1] if not second.isdigit(): return '不是有效数字' except: second = '' # 增加千分位逗号 def nested(s): result = [] length = len(s) index = length % 3 if index != 0: result.append(s[:index]) for i in range(index, length, 3): result.append(s[i:i+3]) return ','.join(result) first = nested(first) # 小数部分和整数部分的千分位不一样 if second: second = ''.join(reversed(second)) second = nested(second) second = ''.join(reversed(second)) # 删除两侧可能的0和千分位逗号 return '.'.join([first, second]).strip(',0') # 删除整数左侧可能的0和逗号 return first.lstrip('0,') # 测试 while True: x = input('输入不带千分位逗号的数字:') if x == '0': print('bye') break print(convert(x))
运行结果: 输入不带千分位逗号的数字:1.2.3 不是有效数字 输入不带千分位逗号的数字:1a 不是有效数字 输入不带千分位逗号的数字:1.a3 不是有效数字 输入不带千分位逗号的数字:0001234 1,234 输入不带千分位逗号的数字:01234 1,234 输入不带千分位逗号的数字:0123.45670 123.456,7 输入不带千分位逗号的数字:0123.45600 123.456 输入不带千分位逗号的数字:123.4567890 123.456,789 输入不带千分位逗号的数字:0 bye
|