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

python学习笔记(1)--小甲鱼,第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=' ')

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/570447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存