1.浏览Python主页(https://www.python.org/),在博客上写下你有哪些发现和收获
Python主页上有个interactive shell的按钮,可以进入在线Python编程的界面。
Python主页上放了5个代码,显示了Python 3的特性。
让我们看看这5个代码:
#代码一
# Python 3: Fibonacci series up to n >>> def fib(n): >>> a, b = 0, 1 >>> while a < n: >>> print(a, end=' ') >>> a, b = b, a+b >>> print() >>> fib(1000) 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
注意到Python的单行注释符号是 #
另外,Python的多行注释符号是三对单引号,或者三对双引号
这段代码输出数值小于n的斐波那契数列,定义了一个函数fib(n),a,b的初始值分别是0,1
当a<n时,输出a和一个空格,并将a,b分别更新为a=b,b=a+b
我们发现Python不同于c、c++的地方:赋值语句可以作用于多个变量,用逗号隔开
最后一个print()没看明白是什么意思。查了一下发现,print() 自带了‘\n’,所以print()即为一个\n。这才明白中间那句print(a,end=' ')不能写成print(a,' '),不然每输出一个数就会换行。
我把这段代码粘到刚下载的pycharm上运行,这才发现Python的缩进要求与c、c++有很大的不同。查了一下发现,在很多代码规范里面也都有要求代码书写按照一定的规则进行换行和代码缩进,但是这些要求只是纯粹是方便人(程序员)来阅读、使用或修改的,对于编译器或者解释器而言,完全是视而不见的。但是对Python解释器而言,每行代码前的缩进都有语法和逻辑上的意义。
这里解释了缩进带来的问题:https://www.cnblogs.com/chenmh/p/5689305.html
那么,重点来了。这个代码其实说明了Python怎么定义一个函数。关键字def引入函数定义。他后面是函数名和包括形式参数的圆括号。构成函数体的语句从下一行开始,并且必须缩进。
#代码二
# Python 3: List comprehensions >>> fruits = ['Banana', 'Apple', 'Lime'] >>> loud_fruits = [fruit.upper() for fruit in fruits] >>> print(loud_fruits) ['BANANA', 'APPLE', 'LIME'] # List and the enumerate function >>> list(enumerate(fruits)) [(0, 'Banana'), (1, 'Apple'), (2, 'Lime')]
这段代码一开始没看懂。
研究一下Python中的循环语句for A in B:http://www.runoob.com/python/python-for-loop.html
其实相当于c、c++里面的循环语句再加上赋值语句,即每一次循环将序列B第i个元素赋给A
那么,重点来了,这段代码其实说明,列表(称为其他语言的数组)是python理解的复合数据类型之一。列表可以通过其他内置函数进行索引、切片和操作。
#代码三
# Python 3: Simple arithmetic >>> 1 / 2 0.5 >>> 2 ** 3 8 >>> 17 / 3 # classic division returns a float 5.666666666666667 >>> 17 // 3 # floor division 5
这段代码讲的是Python的数学运算,表达式语法很简单,基本上和c、c++相一致,但有几个地方是不同的(老师上课也说过了)例如
**代表幂运算
//代表整数除法 #Python 3中用/表示浮点数除法
#代码四
# Python 3: Simple output (with Unicode) >>> print("Hello, I'm Python!") Hello, I'm Python! # Input, assignment >>> name = input('What is your name?\n') >>> print('Hi, %s.' % name) What is your name? Python Hi, Python.
这段代码解释了Python的输入输出。函数input()让程序暂停运行,等待用户输入一些文本。使用函数input()时,Python将用户输入解读为字符串,此时我们需要使用函数int()将数字的字符串转换为数值表示。
#代码五
# For loop on a list >>> numbers = [2, 4, 6, 8] >>> product = 1 >>> for number in numbers: ... product = product * number ... >>> print('The product is:', product) The product is: 384
这段代码演示了Python的循环语句的用法,其实和c、c++大体相似。
2.假设你已经成为一名Python编程高手,你打算实现怎样的程序?在博客上写下你的目标
凭空假设是不切实际的,因为才刚开始学习这门语言。但是目标还是要有的。大概前半个学期先把Python的基础打好,后半学期再来考虑能实现什么伟大的程序。我决定先制定一下学习目标。
周次 | 学习计划 | 项目计划 |
第2周 | 变量和简单数据类型 | . |
第3周 | 列表 | . |
第4周 | 操作列表 | . |
第5周 | if语句 | . |
第6周 | 字典 | . |
第7周 | 用户输入和while循环 | 学习教材项目 |
第8周 | 函数 | |
第9周 | 类 | |
第11周 | 文件和异常 | |
第12周 | . | |
第13周 | . | 制定项目计划 |
第14周 | . | 项目实施 |
第15周 | . | |
第16周 | . | |
第17周 | . | |
第18周 | . | |
第19周 | . | |
第20周 | . | 项目总结 |
3. 教材中课后的练习,2-1到2-11,选一些写到你的博客上
2.3 个性化信息:将用户的姓名存到一个变量中,并向该用户显示一条消息。
name = input('What is your name?\n') print('Hi, %s, would you like to learn some Python today?' % name)
2.4 调整名字的大小写:将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。
name = "alice" print(name.lower()) print(name.upper()) print(name.title())
2.5 名言:找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):
Albert Einstein once said, "A person who never made a mistake never tried anything new."
print('Albert Einstein once said, "A person who never made a mistake never tried anything new."')
2.6 名言2:重复练习2-5,但将名人的姓名存储在变量famous_person中,再创建要显示的信息,并将其存储在变量message中,然后打印这条信息。
famous_person = "Albert Einstein" message = "once said," + '"A person who never made a mistake never tried anything new."' print(famous_person , message)
2.7 剔除人名中的空白:存储一个人名,并在开头和末尾都包含一些空白字符。务必至少使用字符组合"\t"和"\n"各一次。打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip()、rstrip()和strip()对人名进行处理,并将结果打印出来。
name = " \n\talice\t" print(name) print(name.lstrip()) print(name.rstrip()) print(name.strip())
结果:(打开view plain视图可以看到结果)
alice alice alice alice