python学习笔记(1)--小甲鱼

用python设计第一个游戏


temp = input("猜数字")#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'#\n会跳行
print(str)
str = r'C:\now'
print(str)

如果希望得到一个跨越多行的字符串,例如
我爱xx
正如我哎xx
他那xxx
xxxxx

  • 此时我们需要三重引号字符串
str= """正如我爱qe 
是因为qe 
还有 
还有

1"""
print(str)

结果:
在这里插入图片描述

改进我们的小游戏

  • 猜错的时候应该给点提示,例如用户输入的值是大了还是小了
  • 每运行一次程序只能猜一次,应该提供多次机会给用户猜测
  • 每次运行程序,答案可以是随机的。因为程序答案固定,容易导致答案外泄

条件分支

第一个改进要求:
在这里插入图片描述

  • 条件分支if:else:
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的数值类型

  1. 整型
  2. 布尔类型:true和false
  3. 浮点型
  4. 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()

  • 获取关于类型的信息type()
a='520'
type(a)

class’str’

  • 更多的是用isinstance()来确定数据类型
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,是真正的除法
//是以前的地板除法,把小数点省掉
%是取余

  • 优先级问题
    在这里插入图片描述

  • 比较操作符

  • 逻辑操作符:and or not not是一元操作符 not4=false not0=true

了不起的分支和循环

打飞机框架:

加载背景音乐
播放背景音乐(设置但单曲循环)
我方飞机诞生
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的时间

  • 解题方案2:用if else不断嵌套
  • 解题方案3:
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=' ')#end会关闭自动换行
##len是返回字符串长度
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))#[0,1,2,3,4]
print(each)
for i in range(5):
    print(i)#0,1,2,3,4
for i in range(1,10,2):
    print(i)#1,3,5,7,9步长是2,起始为1
  • continue的用法,回到循环的判断语句处:
for i in range(10):
    if i%2 != 0:
        print(i,end=' ')
        continue#进行下一次循环
    i += 2
    print(i,end=' ')
  • break的用法
for i in range(10):
    if i%2 != 0:
        print(i,end=' ')
        break#直接结束循环
    i += 2
    print(i,end=' ')
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kelinnn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值