用python设计第一个游戏
temp = input("猜数字")
guess = int(temp)
if guess == 8:
print("wocao")
print("猜对了也没有奖励")
else:
print("猜错啦应该是8")
print("gg")
- BIF:Built-in functions内置函数。帮助程序员便捷得编写程序。
python有多少个内置函数?
dir(__builtins__)
变量和字符串
变量名就像是我们现实社会的名字,把一个值赋值给一个名字时,ta回存储在内存中,称之为变量,在大多数语言中都把这种行为称为“给变量赋值”
teacher = 'laojiayu'
print(teacher)
first = 3
second = 8
third = first + second
print(third)
结果:
字符串的拼接:
myteacher = 'xiaojiyu'
yourteacher = 'heiye'
ourteacher = myteacher + yourteacher
print(ourteacher)
结果:
- 在使用变量前要对变量进行赋值
- 变量名可以包括字母、数字、下划线,但是变量名不可以以数字开头
- 大小写敏感
- 单引号和双引号不挑剔,’5‘+’8‘会输出’58‘字符串进行拼接。
- 如果说字符串里有’ 可以用\来转义’let’s go’
- \是可以自己对自己转义的,假如一个字符串有很多哥反斜杠,在字符串前加r
str = 'C:\now'
print(str)
str = r'C:\now'
print(str)
如果希望得到一个跨越多行的字符串,例如 我爱xx 正如我哎xx 他那xxx xxxxx
str= """正如我爱qe
是因为qe
还有
还有
1"""
print(str)
结果:
改进我们的小游戏
- 猜错的时候应该给点提示,例如用户输入的值是大了还是小了
- 每运行一次程序只能猜一次,应该提供多次机会给用户猜测
- 每次运行程序,答案可以是随机的。因为程序答案固定,容易导致答案外泄
条件分支
第一个改进要求:
print('欢迎来到猜数字游戏')
temp1 = input('输入一个数字')
temp = int(temp1)
if temp == 8 :
print('猜对了')
else:
if temp > 8:
print('大了')
if temp < 8:
print('小了')
while temp != 8:
temp1 = input('猜错了重新输入一个数字吧:')
temp = int(temp1)
if temp > 8:
print('大了')
if temp < 8:
print('小了')
if temp == 8:
print('猜对了')
print('buwanle')
- python的and逻辑操作符可以将任意表达式连接在一起,并得到一个布尔类型的值
print((3>2)and(1<2))
- 改进要求:每次运行程序产生的答案是随机的
- 使用random模块,里边有一个函数叫做randint(),ta会返回一个随机的整数,可以利用这个函数来修改我们的游戏,
import random
secret =random.randint(1,10)
闲聊之python的数据类型
python的数值类型
- 整型
- 布尔类型:true和false
- 浮点型
- e记法:科学计数法15e10就是150000000000.0会变成浮点型
类型转换: 整型:int()如:a='520' b=int(a)
a=5.99
c=int(a)
c=5
浮点数:float()将一个字符串或者整数转化成浮点数。
a='520'
b=float(a)
b=520.0
a=520
b=float(a)
b=520.0
字符串:str()
a='520'
type(a)
class’str’
a='520'
isinstance(a,str)
a=520
isinstance(a,str)
True false
python之常用操作符
a=a+3太麻烦也可以写成a += 3
a = b = c =d = 10
a += 1
b -= 3
c *= 10
d /= 8
d是1.25,是真正的除法 //是以前的地板除法,把小数点省掉 %是取余
了不起的分支和循环
打飞机框架:
加载背景音乐
播放背景音乐(设置但单曲循环)
我方飞机诞生
interval = 0
while true
if 用户是否点击关闭按钮
退出程序
interval += 1
if interval == 50:
interval = 0
小飞机诞生
小飞机移动一个位置
屏幕刷新
if 用户鼠标产生移动:
我方飞机中心位置 = 用户鼠标位置
屏幕刷新
if 我方飞机与小飞机发生肢体冲突
我方挂,播放撞击音乐
修改我方飞机图案
打印“game over”
停止背景音乐,最好淡出
了不起的分支和循环2
- 按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。
- 解题方案1:
score = int(input('请输入一个分数'))
if (90 <= score < 100):
print('A')
if (80 <= score < 90):
print('B')
if (60 <= score < 80):
print('C')
if (0 <= score < 60):
print('D')
if (score < 0) or (score > 100):
print('输入错误')
当判断完A之后后边还在继续判断,浪费CPU的时间
score = int(input('请输入一个分数'))
if (90 <= score < 100):
print('A')
elif(80 <= score < 90):
print('B')
elif(60 <= score < 80):
print('C')
elif(0 <= score < 60):
print('D')
else:
print('输入错误')
A判断完成后不再进行后边的判断,会节省时间
python可以有效得避免“悬挂else”
x,y=4,5
if x<y:
small = x
else:
small = y
small = x if x<y else y
- assert断言,当这个关键字后边的条件为假时,程序会自动崩溃,抛出异常
- 例如:
assert 3 > 4 这个关键字对于调试很有用
循环
while 条件: 循环体 for循环: for 目标 in 表达式: 循环体
favourite = 'fish c'
for i in favouite:
print(i,end=' ')
member = ['xiaojiayu','zls','wqe']
for each in member:
print(each,len(each))
- range()语法:
range([strat,]stop[, step=1]) 用中括号括起来的两个参数是可选的,step=1表示第三个参数的值默认值为1,range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列,经常用在for循环里。
each=list(range(5))
print(each)
for i in range(5):
print(i)
for i in range(1,10,2):
print(i)
for i in range(10):
if i%2 != 0:
print(i,end=' ')
continue
i += 2
print(i,end=' ')
for i in range(10):
if i%2 != 0:
print(i,end=' ')
break
i += 2
print(i,end=' ')
|