Zeruns's Blog - 语句
type: channel
link: https://blog.zeruns.com/tag/%E8%AF%AD%E5%8F%A5/
items: 《提问的智慧》推荐大家看看
items: Python基础语法（二）
items: Python基础语法（一）

《提问的智慧》推荐大家看看
type: item
date: 2020-03-24T15:11:00+08:00
description: 转自：https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md提问的智慧How To Ask Questions The Smart WayCopyright © 2001,2006,2014 Eric S. Raymond, Rick Moen本指南英文版版权为 Eric S. Raymond, Rick Moen 所有。原文网址：http://www.catb.org/~esr/faqs/smart-questions.htmlCopyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu本中文指南是基于原文 3.10 版以及 2010 年由 Gasolin 所翻译版本的最新翻译；本文另有繁體中文版。原文版本历史声明许多项目在他们的使用协助/说明网页中链接了本指南，这么做很好，我们也鼓励大家都这么做。但如果你是负责管理这个项目网页的人，请在超链接附近的显著位置上注明：本指南不提供此项目的实际支持服务！我们已经深刻领教到少了上述声明所带来的痛苦。因为少了这点声明，我们不停地被一些白痴纠缠。这些白痴认为既然我们发布了这本指南，那么我们就有责任解决世上所有的技术问题。如果你是因为需要某些协助而正在阅读这本指南，并且最后离开是因为发现从本指南作者们身上得不到直接的协助，那么你就是我们所说的那些白痴之一。别问我们问题，我们只会忽略你。我们在这本指南中是教你如何从那些真正懂得你所遇到软件或硬件问题的人取得协助，而 99% 的情况下那不会是我们。除非你确定本指南的作者之一刚好是你所遇到的问题领域的专家，否则请不要打扰我们，这样大家都会开心一点。简介在黑客的世界里，当你拋出一个技术问题时，最终是否能得到有用的回答，往往取决于你所提问和追问的方式。本指南将教你如何正确的提问以获得你满意的答案。不只是黑客，现在开源（Open Source）软件已经相当盛行，你常常也可以由其他有经验的使用者身上得到好答案，这是件好事；使用者比起黑客来，往往对那些新手常遇到的问题更宽容一些。然而，将有经验的使用者视为黑客，并采用本指南所提的方法与他们沟通，同样也是能从他们身上得到满意回答的最有效方式。首先你应该明白，黑客们喜爱有挑战性的问题，或者能激发他们思维的好问题。如果我们并非如此，那我们也不会成为你想询问的对象。如果你给了我们一个值得反复咀嚼玩味的好问题，我们自会对你感激不尽。好问题是激励，是厚礼。好问题可以提高我们的理解力，而且通常会暴露我们以前从没意识到或者思考过的问题。对黑客而言，"好问题！"是诚挚的大力称赞。尽管如此，黑客们有着蔑视或傲慢面对简单问题的坏名声，这有时让我们看起来对新手、无知者似乎较有敌意，但其实不是那样的。我们不讳言我们对那些不愿思考、或者在发问前不做他们该做的事的人的蔑视。那些人是时间杀手 —— 他们只想索取，从不付出，消耗我们可用在更有趣的问题或更值得回答的人身上的时间。我们称这样的人为 失败者（撸瑟） （由于历史原因，我们有时把它拼作 lusers）。我们意识到许多人只是想使用我们写的软件，他们对学习技术细节没有兴趣。对大多数人而言，电脑只是种工具，是种达到目的的手段而已。他们有自己的生活并且有更要紧的事要做。我们了解这点，也从不指望每个人都对这些让我们着迷的技术问题感兴趣。尽管如此，我们回答问题的风格是指向那些真正对此有兴趣并愿意主动参与解决问题的人，这一点不会变，也不该变。如果连这都变了，我们就是在降低做自己最擅长的事情上的效率。我们（在很大程度上）是自愿的，从繁忙的生活中抽出时间来解答疑惑，而且时常被提问淹没。所以我们无情的滤掉一些话题，特别是拋弃那些看起来像失败者的家伙，以便更高效的利用时间来回答赢家（winner）的问题。如果你厌恶我们的态度，高高在上，或过于傲慢，不妨也设身处地想想。我们并没有要求你向我们屈服 —— 事实上，我们大多数人非常乐意与你平等地交流，只要你付出小小努力来满足基本要求，我们就会欢迎你加入我们的文化。但让我们帮助那些不愿意帮助自己的人是没有效率的。无知没有关系，但装白痴就是不行。所以，你不必在技术上很在行才能吸引我们的注意，但你必须表现出能引导你变得在行的特质 -- 机敏、有想法、善于观察、乐于主动参与解决问题。如果你做不到这些使你与众不同的事情，我们建议你花点钱找家商业公司签个技术支持服务合同，而不是要求黑客个人无偿地帮助你。如果你决定向我们求助，当然你也不希望被视为失败者，更不愿成为失败者中的一员。能立刻得到快速并有效答案的最好方法，就是像赢家那样提问 -- 聪明、自信、有解决问题…

Python基础语法（二）
type: item
date: 2019-12-10T15:29:00+08:00
description: AI摘要 本文介绍了Python的条件判断和循环语句，包括if、else、elif的使用方法，以及for和while循环的实现。同时讲解了break和continue语句的作用，强调了在循环中合理使用这些语句的重要性。 此内容根据文章生成，仅用于文章内容的解释与总结 条件判断比如，输入价格，根据价格打印不同的内容，在Python程序中，用 if语句实现：price = 21 if price > 20: #注意不要漏掉冒号 print("价格为%d元" %(price)) #缩进为四个空格或一个TAB print('价格太贵了')根据Python的缩进规则，如果 if语句判断是 True，就把缩进的两行print语句执行了，否则，什么也不做。也可以给 if添加一个 else语句，意思是，如果 if判断是 False，不要执行 if的内容，去把 else执行了，if中文意思为 如果，else中文意思为 否则：price = 1 if price > 20: print("价格为%d元" %(price)) print('贵了') else: #这里同样注意不要漏掉冒号 print("价格为%d元" %(price)) print('便宜了')还可以用 elif做更细致的判断，elif是 else if的缩写，可以有多个 elif：price = 20 if price > 20: print("价格为%d元" %(price)) print('贵了') elif price == 20: print("价格为%d元" %(price)) print('刚刚好') else: #这里同样注意不要漏掉冒号 print("价格为%d元" %(price)) print('便宜了')if语句的完整形式：if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4>if语句执行有个特点，它是从上往下判断，如果在某个判断上是 True，把该判断对应的语句执行后，就忽略掉剩下的 elif和 else。if判断条件还可以简写，比如写：x = 1 if x: print('True')只要 x是非零数值、非空字符串、非空list等，就判断为True，否则为False。循环要计算1+2+3，我们可以直接写表达式：>>> 1 + 2 + 3 6要计算1+2+3+...+10，勉强也能写出来。但是，要计算1+2+3+...+10000，直接写表达式就不可能了。为了让计算机能计算成千上万次的重复运算，我们就需要循环语句。for循环Python的循环有两种，一种是for...in循环，依次把list或tuple中的每个元素迭代出来，看例子：names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name)执行这段代码，会依次打印 names的每一个元素：Michael Bob Tracy所以 for x in ...循环就是把每个元素代入变量x，然后执行缩进块的语句。再比如我们想计算1-10的整数之和，可以用一个sum变量做累加：sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum)如果要计算1-100的整数之和，从1写到100有点困难，幸好Python提供一个 range()函数，可以生成一个整数序列。range(101)就可以生成0-100的整数序列，计算如下：sum = 0 for x in range(101): #因为是从0开始生成所以生成到100时是第101个数 sum = sum + x print(sum)while循环只要条件满足，就不断循环，条件不满足时退出循环。比如我们要计算100以内所有奇数之和，可以用while循环实现：sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum)在循环内部变量 n不断自减，直到变为 -1时，不再满足while条件，循环退出。练习请利用循环依次对list中的每个名字打印出Hello, xxx!：name = ['zeruns', 'Bart', 'Lisa', 'Adam']答案[hide]name = ['zeruns', 'Bart', 'Lisa', 'Adam'] #用for循环实现 for hello in name: print('Hello,%s!'%hello) #用print('Hello,',hello,'!')也可以 i = 0 #用while循环实现 while i <= 3: p…

Python基础语法（一）
type: item
date: 2019-12-03T00:12:00+08:00
description: AI摘要 本文介绍了Python基础语法，包括多行注释、数据类型、输入输出函数、eval函数、多行语句、循环语句、随机数生成及其他常用函数。 此内容根据文章生成，仅用于文章内容的解释与总结 多行注释：以'''开头和结尾''' 这是多行注释第一行 这是多行注释第二行 '''数据类型整数类型： 10011101字符串类型： "10,011,101"列表类型： [10, 011, 101]python中单引号和双引号使用完全相同。使用三引号('''或""")可以指定一个多行字符串。转义符 '\'反斜杠可以用来转义，使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示，并不是换行。字符串可以用 + 运算符连接在一起，用 * 运算符重复。从控制台获得用户输入的函数<变量> = input(<提示信息的字符串>)输出函数print(<拟输出的字符串或字符串变量>)print 默认输出是换行的，如果要实现不换行需要在变量末尾加上 end=""：评估函数eval () ：去掉参数最外侧引号并执行余下语句的函数，可用做字符串转整数或浮点数多行语句Python 通常是一行写完一条语句，但如果语句很长，我们可以使用反斜杠()来实现多行语句，例如：total = item_one + \ item_two + \ item_three在 [], {}, 或 () 中的多行语句，不需要使用反斜杠()，例如：total = ['item_one', 'item_two', 'item_three','item_four', 'item_five']循环语句while 条件: 执行的语句 break #跳出当前循环生成随机数import random #导入random模块 random.randint(1,10) #生成1到10的随机整数其他 pow(x,y) 计算 x的y次方 round(x, d) 对x四舍五入，d是小数截取位数 字符串转整数类型 <变量> = int(<被转换的变量>) 字符串转浮点数类型 <变量> = float(<被转换的变量>)