Python入门学习笔记(一)——数据类型、操作符、分支循环

目录

Python

入门小程序

Python之变量

Python之字符串

Python的数值类型

Python之操作符

Python之条件分支

if判断

while循环      

条件表达式(三目运算符)      

断言(assert)

实战应用

用Python做一个小游戏

几个练习

Python之循环

while循环    

for循环

range()

两个关键语句


Python

从 IDLE是一个Python Shell,shell的意思就是 外壳,是一个通过键入文本与程序交互的途径

>>>print(“I love you !”)

输出:I love you

p.s.:Alt+n上一条语句

          Alt+p下一条语句

>>>print(5+8)

输出:8

>>>print(“well water”+” river”)

输出:well water river

>>>print(“well” * 3)

输出:well well well

>>>print(“well\n”+8)

报错

 

入门小程序

IDLE -> File -> new window

       代码:            

  temp = input(“猜一下我心里现在想的是哪个数字:”)#temp不分类型

              guess = int(temp);#字符串转整形

              if guess == 8;

                     print(“正确”)

                     print(“没奖励”)

              else:

                     print(“错,是8”)

              print(“游戏结束”)

运行:run/F5

记住:Python严格缩进,没有大括号,没有分号

 

BIF(built-in function)内置函数,

输入dir(__builtins__),可以查看所有BIF,

输入help(函数)可以查看函数的使用方法。

 

Python之变量

       变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”

       不过python和大多数语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的上边,所以有些Python程序用会说“python没有变量,只有名字”

       注意:

  1. 在使用变量之前,需要对其先赋值
  2. 变量名可以包括字母,数字,下划线,但变量名不能一数字开头
  3. 字母可以是大写或小写,但大小写是不同的,也就是说Test和test对于Python来说是完全不同的两个名字
  4. 等号(=)是赋值的意思,左边是名字,右边是值,不可以写反
  5. 变量的命名理论可以取任何合法的名字,但作为一个优秀的程序员,请将尽量给变量去一个专业的名字

 

Python之字符串

       到目前为止,我们所认知的字符串就是引号内的一切东西,我们也把字符串叫做文本,文本和数字是截然不同的:5+8,‘5’+‘8’

       要告诉Python创建一个字符串,就要在字符两边加上引号,可以是单引号,也可以是双引号,但是必须成对。

如果字符串中需要出现单引号或者双引号怎么办?例如:打印Let’s go

       有两种方法:

  1. 第一种:比较常用,使用转义字符(\)对字符串中的引号进行转义:>>>’Let\’s go’
  2. 第二种:

       原始字符串:

>>>str = ‘c:\now’

>>>str

‘c:\now’

>>>print(str)   #把\n当作是转义字符回车键了      

c:
ow  

       当然,我们可以用\对\自身进行转义>>>str = ‘c:\\now’,这时打印出来的是正常的。

       但是如若在字符串中有很多反斜杠,我们可以使用原始字符串,只需在字符串前加一个英文字母r即可:

>>>str = r‘c:\now\a’

>>>str

C:\\now\\a

>>>print(str)

C:\now\a

我们不能在字符串结尾加‘\‘,否则会报错,如果非要加,要在反斜杠后面加上空格。

长字符串

       如果希望得到一个跨越多行的字符串,需要使用到三重引号字符串,可以是“““^_^”””,也可以是‘‘‘……’’’

注意:所有标点都要用英文字符!

 

Python的数值类型

  1. 整型
  2. 浮点型
  3. 布尔类型

e记法:科学计数法15e10,1.5e-10

类型转换:

  1. int()将字符串或浮点转换为整型
  2. str()将整型或浮点或其他什么转换为字符串
  3. float()将字符串或整型转换为浮点

获取关于类型的信息:

type()

Isinstance(a,int) #符合返回true,不符合返回false

Python之操作符

1. 算术操作符:+ - * / ** // %

       Python中对除法做了改进,整型/整型,会得到浮点型(真正的除法)

       //:会舍弃小数部分,无论是整型的除法还是浮点型的除法

       **:幂运算,3**2 = 9,幂运算符比左侧的一目运算符优先级高,比右面的一目运算符优先级低。

 

2. 逻辑操作符:and,or,not

       结果为True/false

       0为false,非零的数为true

       Python中: >>> 3<4<5 #合法,会得到true,被解释成(3<4)and(4<5)

 

  • 优先级问题:(从高到低)
  1. 幂运算:**(特殊,见上)
  2. 正负号:+N -N
  3. 算术操作符:* / // + -
  4. 比较操作符:< <= > >= == !=
  5. 逻辑运算符:not and or

 

Python之条件分支

改进之前的游戏:

  1. 猜错后给提示
  2. 提供多次猜的机会
  3. 答案是随机的,不是固定的

        第一个改进要求:猜错的时候程序提示用户当前的输入比答案是大了还是小了     

if判断

   if 条件:

               条件为true执行的操作

     else:

               条件为false执行的操作

while循环      

  while 条件:

               条件为真时执行的操作

还可以加and逻辑操作符:python的and路基操作符可以将任意表达式连接在一起,并得到一个布尔类型的值。

 

这里我们为改进程序引入外援——random模块

        这个random模块里有一个函数:randint(),它会返回一个随机的整数。

import random

secret = random.randint(1,10)

temp = input(“猜数字:”)

guess = int(temp)

while guess != secret and time>0: #time表示次数

       temp = input(“重新输入:”)

       time = time-1

if guess == 8

print(“对”)

print(“没奖励”)

else

if guess > 8

print(“大了”)

else

print(“小了”)

print(“结束”)

存在问题:第一次就才对的话,没有正确的提示。

 

条件表达式(三目运算符)      

 x,y = 4,5

if x < y:

              small = x

       else:

              small = y

用三目运算符则可以简化为:small = x if x<y else y

语法:

         x if 条件 else y(真为x,假为y)

 

断言(assert)

       assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。

       >>> assert 3>4

     一般来说我们可以用它在程序中置入检查点,当需要确保程序中的某一个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。

 

 

 

实战应用

用Python做一个小游戏

实现:加载背景音乐

            播放背景音乐(单曲循环)

            加载我方飞机

伪代码:

interval = 0    #为了防止小飞机产生的数量过多

While True:

              if 用户是否点击了关闭按钮

                     退出程序

              interval += 1

              if interval == 50:

                     interval = 0

                     小飞机诞生



              小飞机移动一个位置

              屏幕刷新

      

              if 用户鼠标产生移动

                     我方飞机中心位置 = 用户鼠标位置

                     屏幕刷新

              if 我方飞机与小飞机发生接触

                     我方挂,播放撞击音乐

                     修改我方飞机图案

                     打印“Game over”

                     停止背景音乐,最好淡出

 

几个练习

1. 输入成绩,输出等级

法一:

score = int(input(‘请输入一个分数:’))

if 100 >= score >= 90

                     print(‘A’)

if 90 > score >=80

print(‘B’)

if 80 > score >=60

                     print(‘C’)

if 60 > score >= 0

                     print(‘D’)

if score < 0 or score>100

                     print(‘输入错误!’)

 

法二:用if-else,节省了CPU

法三:elif,与if-else相同,但是不用频繁缩进

score = int(input(‘请输入一个分数:’))

if 100 >= score >= 90

                     print(‘A’)

elif 90 > score >=80

print(‘B’)

elif 80 > score >=60

                     print(‘C’)

elif 60 > score >= 0

                     print(‘D’)

else:

                     print(‘输入错误!’)

 

Python可以有效避免“悬挂else”

              if和它对应的else,一定会属于同一个缩进级别。

 

Python之循环

while循环    

   while 条件:

              循环体

for循环

   for 目标 in 表达式

              循环体

      例子:

 >>>favoutit = ‘flower’

       >>>for i in favourite:

                     print(i,end=‘ ’)

       f l o w e r



       >>>member = [‘one’,’two’,’three’,’four’,’five’]

       >>>for each in member:

                     print(each,len(each))

       one 3

       two 3

       three 2

       four 2

       five 2

      

range()

       range([strat,], stop[, step=1])

       这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。

       step = 1表示第三个参数的值默认值是1,每次递增多少

       range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。     

  >>>range(5)

       range(0,5)

       >>>for i in range(2,9)

                     print(i)

       2 3 4 5 6 7 8 #不包括9

两个关键语句

  1. Break,跳出循环
  2. continue,终止本轮循环
for i in range(10)

         if i%2 !=0

                print(i)

                continue

         i += 2

         print(i)

打印:2 1 4 3 6 5 8 7 10 9

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值