第一天 环境搭建与课程介绍
课程使用的Python版本为3.7.2
软件为IDLE(交互模式,即给一个指令立刻给出一个反馈;编辑器模式)
我们使用IDLE输入import this 代码体验一下交互模式,会出现一首诗:
接下来我们使用编辑器模式输入下面这段代码:
"""用Pyhon设计第一个游戏"""
temp=input("不妨猜一下小甲鱼心中想的是哪个数字")
guess=int(temp)
if(guess==8):
print("你猜对了!")
else:
print("猜错啦!我想的是8")
print("游戏结束")
如果第一个程序运行错误,请检查“是否全部为英文标点?”“缩进是否正确?”
我们可以输入 dir(__builtins__),这样可以看到Python所有的内置函数。
第二天 变量和字符串
1.变量
由数字字母下划线组成,但是开头不能是数字。Python3首次支持中文命名变量!
我们来学习一下交换两个变量值的两种方法,一种是C++ Java等采用的临时变量:
x=3
y=5
z=x
x=y
y=z
print(x,y)
另外一种方法是Python自身特殊语法:
x=3
y=5
x,y=y,x
print(x,y)
2.字符串
Python表示字符串方式有三种:single quotes, double quotes, triple quotes换言之就是单引号、双引号、三引号,多种引号方式是为了避免歧义。
快捷键Alt+P 可以回退到上一行代码。
print('I love China')
print("Let's go!")
print('"Life is short,you need Python"')
3.转义字符
在写代码或者在字符串中使用某些特殊字符时,有时需要使用转义字符来表示这些特殊字符。转义字符是以反斜杠(\)开头的特殊字符序列,用于表示一些难以输入的字符或者具有特殊意义的字符。
比如常见的有\n表示换行,\表示反斜杠。
print('\"Life is short,let\'s learn Python\"')
print("I love a\n I love z")
如果我们想显示反斜杠\本身,如何避免计算机读成转义字符呢?原理很简单,我们再加上一个反斜杠,写成\\这样可以避免歧义。
print("D:\three\two\one\now")
print("D:\\three\\two\\one\\now")
如果路径很长,我们不能手动添加一百多个反斜杠,该怎么办呢?
4.原始字符串
在一个字符串前面加上一个字母r,说明后面是一个原始字符串,转义字符将不再有效。
print(r"D:\three\two\one\now")
同时,一行代码末尾有\说明这一行代码还没有结束,将继续执行下一行代码。比如想输入一个很长的跨行字符串,可以在每一行末尾加上\,使之成为一个长字符串。
5.长字符串
即triple quotes三引号字符串。三个单引号或者三个双引号都可以。也可以混着使用两种引号,但是必须注意前后对应上。
long_string = """This is a long string.
It can contain single quotes ' and double quotes ".
"""
print(long_string)
6.字符串的加法和乘法
字符串相当于文本,+相当于拼接字符串。字符串的乘法相当于重复。
s1="lc"
s2="lcw"
print(s1+s2)
print(s1*10)
第三天 代码
1.input
input(string s)input函数接受一个字符串,用于显示在屏幕上。接着接受用户输入,如果赋值给变量temp,那么temp的值就是用户的输入(默认为字符串类型)
2.比较运算符
> < >= <= != ==(必须都连在一起,中间不能有空格)
is 判断两个对象的id是否相等; is not判断两个对象的ID是否不相等
写Python代码最重要的是注意缩进!
3.改进游戏
1.用户猜错程序应该给出提示
2.提供多次机会给用户
快捷键Ctrl+C可以停止程序运行。
Ctrl+[ 实现整体缩进,Ctrl+] 实现整体取消缩进
break语句可以跳出一层循环。只要遇到break语句,立刻跳出本层循环,顺序执行循环之后的代码。
3.每次运行程序时答案应该是随机的
要实现一个随机数,可以利用现有的模块。导入一个模块语法是import +模块名。
random里有一个randint函数,两个参数为a,b。可以获取(a,b)范围内的整数。(包括a和b!)
语法为random.randint(1,10)。
"""用Pyhon设计第一个游戏"""
import random
answer=random.randint(1,10)
count=3
while(count>0):
temp=input("不妨猜一下小甲鱼心中想的是哪个数字")
guess=int(temp)
if(guess==answer):
print("你猜对了!")
break
else:
if guess<8:
print("小啦!")
else:
print("大啦!")
count=count-1;
print("游戏结束")
Alt+P可以重复上一条语句,我们多进行几次随机数验证。
我们知道,random实现的是伪随机数,一般而言都是利用当前系统的时间来生成随机种子的。
我们可以使用random.getstate()函数获取随机种子加工后随机数生成器内部的工作状态。
并且可以使用random.setstate()重新设置生成器内部状态。
x=random.getstate()
print(x)
random.randint(2,9)
random.randint(2,9)
random.randint(2,9)
random.setstate(x)
random.randint(2,9)
random.randint(2,9)
random.randint(2,9)
输入这几行代码我们就会发现随机数重现了,进一步说明计算机无法产生真正的随机数。