半年前写过一个类似的文章盘点那些让人上火的提问方式(论如何让交流更高效),大概整理了一些教书多年来遇到的一些很难回答的问题。最近半年又遇到了一些,补充几个:
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