目录
一、设计第一个Python小游戏
""" 用Python设计第一个小游戏"""
temp = input("不妨猜一下我现在心里想的是哪个数字:")
guess = int(temp)
if guess == 8:
print("你是我心里的蛔虫嘛?!")
print("哼,猜中了也没有奖励!")
else:
print("猜错啦,我现在心里想的数字是8!")
print("游戏结束,不玩啦^_^")
与C语言的区别:每一句结束后面,没有英文 ;(分号),不需要变量声明,Python要特别注意缩进
二、Python变量
①变量:只能由数字、下划线、字母组成,且不能以数字开头。
使用方法:
x = 3
print(3)
②字符串:由数字、下划线、字母、符号组成,可以分为Single quotes、Double quotes、Triple quoted
Single quotes:使用一对单引号将文本包含起来;
Double quotes:使用一对双引号将文本包含起来;
Triple quoted:使用三个双引号或者三个单引号
单引号和双引号是成双成对的出现的,与最近的相匹配,假如,字符串里包含了单引号,这是字符串就要用双引号表示。包含双引号也是一样的。
例:print("Let's go !") 此句就必须加双引号,若是加单引号会出现:Invalid syntax 的语法报错。
若是要输出:"Life is short, let's learn Python.",这句字符串中既有双引号也有单引号。
原始字符串:在第一个字符前面加一个r,可以取消转义字符的使用。
输出:print('"Life is short, let\'s learn Python."') 可以使用转义字符输出。
输出:D:\three\two\one\now
print(r"D:\three\two\one\now")
字符串加法和乘法
print("520"+"1314") 输出:5201314 将两个字符串组合成新的字符串
print('I love you !\n'*3)
输出:
三、优化第一个游戏
1、代码讲解
input函数:接收用户的输入并返回,返回的是一个字符串。可以用int()函数转换成整数
2、改进建议
①、当用户猜错的时候,程序应该给出提示
Python有一个random模块可以实现随机数,Python使用模块,语法:需要用import加上模块名。
random模块里面有一个叫randint的函数,有两个参数,表示希望获取的随机整数范围。
例如:random.randint(1,100) 表示1到100的随机数。
②、应该提供多次机会给用户
可以使用 while循环。
③、每次运行程序、答案应该使随机的
四、数字类型
1、浮点数:在Python中,浮点数存在精度误差,例如:
若想浮点数进行精确的计算,需要引用 decimal(十进制)的模块的Decimal函数
代码如下:
import decimal
a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
print(a + b)
# 输出:0.3
# 可以用Decimal进行比较
c = decimal.Decimal('0.3')
a + b == c
# 输出:True
Python使用科学计数法计算一些极端的数
例如:
0.00005
#输出:5e-05
2、复数:1+2j,输出(1+2j),可以使用 x.real,得到实部1.0,使用 x.imag,得到虚部2.0。
3、Python的数字运算
地板除:取比目标结果小的最大整数(向下取整)
3 // 2 # 输出:1
-3 // 2 # 输出:-2
pow(2,3,3) # 输出:2 参数含义:2的3次方幂取3的余数(2 ** 3 % 3)
complex("2+2j") # 输出:2+2j
4、逻辑运算符
Python的逻辑运算符也有三个:与(and)、或(or)、非(not)。和C语言的逻辑运算符是一样的。
True == 1 # 输出:True
False == 0 # 输出:False
True * False # 输出:0
True / False # 输出:报错,因为,False = 0,0不能做除数
3 > 5 and 5 > 3 # 输出:False
5 > 2 or 3 > 5 # 输出:False
not True # 输出:False
not False # 输出:True
4 and 5 and 6 # 输出:6
4 or 5 or 6 # 输出:4
0 and 5 # 输出:0
0 or 5 # 输出:5
and 和 or都要遵从短路逻辑
短路逻辑的核心思想:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
运算优先级:优先级谁高,谁先进行计算。
not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9 # 输出:4
五、分支和循环
1、重点讲解:(if elif elif),elif 是 else if 的缩写。分支的含义和使用与C语言差不多。
2、Python有个特殊的分支:条件成立时执行的语句 if condition else 条件不成立时执行的语句
例如:小明17岁,想访问一个网站(未满18岁,禁止访问),判断小明能否访问
age = 17
if age <= 18:
print("抱歉,未满18岁禁止访问!")
else
print("欢迎光临!")
# 输出:抱歉,未满18岁禁止访问!
改写成上述的特殊分支:
print("抱歉,未满18岁禁止访问!") if age <= 18 else print("欢迎光临!")
3、else语句的另一种用法:当循环条件不在为真的时候,else语句才会被执行,当循环里使用break语句跳出时,else语句将不被执行。重点说明:for循环和while循环后面都可以结合 else
例:打印出10以内的所以素数
# 找出10以内的所以素数
# 素数:只能被 1和本身 整除的数
for isPrme in range(2,11):
for i in range(2,isPrme):
if isPrme % i == 0: # 但凡有一个数能够被整除,就不是素数
break
else:
print(isPrme,"是素数")
4、for循环
语法:for 变量 in 可迭代对象:语句块
可迭代对象:指那些元素能够被单独提取出来的对象
range():生成一个数字序列,有三种表现形式:
①、range(stop):生成0到stop的整数数列
②、range(start,stop):指定开始和结束的两个位置
③、range(start,stop,step): 指定步进的跨度
例如:
for i in range(10):
print(i) # 输出:0 1 2 3 4 5 6 7 8 9,不含10
for i in range(5,10):
print(i) # 输出:5 6 7 8 9,不含10
for i in range(1,50,10):
print(i) # 输出:1,11,21,31,41