python控制语句第一章_python基础第一章

Python基础

第一个python程序

变量

程序交互

基本数据类型

格式化输出

基本运算符

流程控制if...else...

流程控制-循环

第一个python程序

文件执行

1.用notepad++创建一个文件,输入以下代码:

print('HelloWorld')

print('python好简单啊,我要学好挣大钱!')

2.保存为HelloWorld.py,注意要强调.py后缀名的作用

3.进入 cmd命令行,执行python HelloWorld.py,看结果(在文件名前加python的原因是要把代码交给python解释器去解释执行)

交互器执行

python交互器就是主要用来对代码进行调试用的

变量

变量是什么?

eat = 100+20+30

cloth = 200+300

print('total=',cloth+eat)

所谓的变量,就是把程序运算的中间结果临时存放到内存里,以备后面的代码继续调用,用来标记数据,存储数据的

变量定义规范

声明变量

name = 'xiaoyafei'

其中name被称为“变量名/标识符”,'xiaoyafei'被称为“变量值”。

变量定义规则

变量只能是字母、数字、下划线的任意组合

变量名的第一个字符不能是数字

关键字不能被称为变量名,如['and','as','class']

定义方式

驼峰体

AgeOfXiao = 20

NumberOfStudents = 56

下划线

age_of_Xiao = 20

Number_of_Stundets = 56

常量

在程序运行过程中不会改变的量,在python中没有一种专门的语法来代表常量,但是约定俗成的变量名全部大写为常量,例如:

AGE_OF_XIAO = 22 #这种就是常量

程序交互

读取用户输入

name = input('what is your name?')

print('Hello,'+name)

在执行脚本的时候就会发现,程序会等待输入完name之后再往下继续走

可以让多个用户输入多个信息,例如:

name = input('what is your name?')

age = input('what is your age?')

hometown = input('what is your hometown?')

print("hello",name,"your age:",age,"years old,you come from,",hometown)

程序运行结果如下:

what is your name?a

what is your age?b

what is your hometown?c

hello a your age: b years old,you come from, c

注释

代码注释原则

不用全部添加注释,只需要在自己觉得很重要或者不好理解的地方加注释即可

注释可以用中文或英文,但不能用拼音

数据类型

在每个编程语言中,都会有一个叫数据类型的东西,其实就是对常用的各种数据类型进行了明确的划分,python数据类型有很多中,今天只讲3中:数字、字符串、布尔类型。

数字

int(整型)

在32位机器上,整数的位数是32位,取值范围是-2 ** 31~2 ** 31-1

在64位机器上,整数的位数是64位,取值范围是-2 ** 63~2 ** 63-1

long(长整型)

跟C语言不同,python的长整数没有指定位宽,即:python没有限制长整数的大小,但实际上机器内存有限,使用的长整数数值不可能无限大

注意: 在python2.2起,如果整数发生溢出,python会自动将整数数据转换为长整数,所以如今在长整数数据后面不添加L也不会导致严重后果

在python3中不会再有long类型的了,全部都是int

>>> a = 2**64

>>> type(a)

输出结果为:class 'int' #在python3终端上测试

除了int和long,其实还有float浮点型、复数型

字符串

在python中,加了引号的字符都被陈志伟字符串

>>> name = "xiaoyafei" #双引号

>>> age = '22' #单引号

>>> age2 = 22

>>>

>>> msg = '''my name is xiaoyafei,i am 22 years old.''' #多引号

那么有人就会问了,单引号、双引号、多引号有什么区别?让我告诉你,单双引号没有什么区别,就是在下面的情况要考虑单双引号的搭配:

>>> msg = "my name is xiaoyafei,I'm 22 years old."

多引号什么作用呢?作用就是多行字符必须用多引号:

>>> msg = '''

... 飞流直下三千尺,

... 疑是银河落九天。

... '''

字符串拼接

>>> name = 'xiaoyafei'

>>> age = '22'

>>> name + age #相加就是简单的拼接

'xiaoyafei22'

>>> name * 10 #相乘即使复制自己多少次

'xiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafei'

注意:字符串的拼接只能双方都是字符串,不能跟数字或者其他类型的进行拼接

>>> name = 'xiaoyafei'

>>> age = 10

>>> type(name)

>>> type(age)

>>> name + age

Traceback (most recent call last):

File "", line 1, in

TypeError: must be str, not int #类型必须是字符串

布尔值

布尔类型其实很简单,就两个值:True和Flase

>>> a = 2

>>> b = 5

>>> a > b #不成立就是Flase,即假

False

>>> a < b #成立就是True,即真

True

格式化输出

#-*- coding:utf-8 -*-

name = input('Name:')

age = input('Age:')

addr = input('Addr:')

info = '''

--------------info of %s---------------

Name :%s

Age :%s

Addr :%s

'''%(name,name,age,addr)

print(info)

%s代表的是字符串占位符,除此紫外,还有%d数字占位符

运行结果如下:

Name:xiaoyafei

Age:22

Addr:HangZhou

--------------info of xiaoyafei---------------

Name :xiaoyafei

Age :22

Addr :HangZhou

那么有问题来了,为什么数字用%s的话竟然没有报错呢?让我们来看看:

>>> age = input('Age:') #input接受的所有输入默认都是字符串格式

Age:22

>>> type(age)

如果想转换为整型的话,那么就需要使用[int(youStr)]

基本数据类型

计算机可以进行的运算有很多种,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天暂只学习算数运算、比较运算、逻辑运算、赋值运算

算数运算

设置一下变量:a=10,b=20

那么:

比较运算

复制运算

逻辑运算

流程控制if...else...

单分支

if 条件:

满足条件后执行的代码

例如:

xiaoyafei_age = 22

if xiaoyafei_age<23: #条件

print('he is young') #满足条件做的事情

运行结果:

he is young

双分支

if 条件:

满足条件后执行的代码

else:

if条件不满足才会执行的代码

例如:

xiaoyafei_age = 24

if xiaoyafei_age<23:

print('还是很年轻')

else:

print('不年轻了')

运行结果如下:

不年轻了

多分支

if 条件:

满足条件执行代码

elif 条件:

上面的条件不满足就走这个

elif 条件:

上面的条件不满足就走这个

elif 条件:

上面的条件不满足就走这个

else:

上面所有的条件不满足就走这段

写一个猜年龄的程序把:

# -*- coding:utf-8 -*-

xiaoyafei_age = 22

guess = int(input('>>:'))

if guess >xiaoyafei_age:

print('猜大了,请往小的猜')

elif guess < xiaoyafei_age:

print('猜小了,请往大的猜')

else:

print('恭喜你猜对了!')

再来个匹配成绩的代码吧,ABCDE5个等级,与分数对应关系如下:

A 90-100

B 80-89

C 60-79

D 40-59

E 0-39

要求用户输入0-100的数字后,能正确打印她的对应成绩:

score = input('输入分数:')

if score > 100:

print('最高分才100')

elif score >=90:

print('A')

elif score >=80:

print('B')

elif score >=70:

print('C')

elif socre >=60:

print('D')

else:

print('E')

这里有个问题,就是当我输入95的时候 ,它打印的结果是A,但是95 明明也大于第二个条件elif score >=80:呀, 为什么不打印B呢?这是因为代码是从上到下依次判断,只要满足一个,就不会再往下走啦,这一点一定要清楚呀!

流程控制-循环

while循环

语法

简单吧,while就是当的意思,while是指当其后面的条件成立,就执行while下面的代码

写个程序从0打印100的程序,每循环一次,+1

count = 0

while count <= 100: #只要count<=100,就不断执行下面的代码

print('loop:',count)

count += 1

输出:

loop: 0

loop: 1

loop: 2

.....

loop: 98

loop: 99

loop: 100

那么我如果想实现打印1-100之内的偶数怎么办呢?

那么就需要先搞清,怎么判断一个数字是偶数?能被2整除的数就是偶数,怎么能判断是否被2整除呢?只需要除完2没有余数就可以了。

count = 0

while count<=100: #只要count<=100那么就会一直执行下去

if count %2 == 0: #是偶数

print('loop:'count)

count += 1 #每执行一次,就把count+1,要不然就变成死循环了,因为count一直都是0

死循环

有一种循环叫做死循环,一经触发,就运行个天荒地老、海枯石烂。

while是只要后边条件成立(也就是条件结果为真)就一直执行,怎么让条件一直成立呢?

count = 0

while True: #True本身就代表着真

print('你是风儿我是沙,缠缠绵绵到天涯......',count)

count +=1

当然了,这是死循环,会将你的电脑的内存全部吃完然后死机,我可没有去执行,当然执行的朋友们可以使用[ctrl+c]结束

循环终止语句

如果在循环过程中,因为某些原因,你不想继续循环了,怎么把它终止掉呢?这就需要break和continue了。

break用于完全结束一个循环,跳出循环体执行循环后面的语句

continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全跳出循环

break语句

count = 0

while count<=5:

print('loop:',count)

if count == 3:

break

count +=1

print('out of while loop')

运行结果如下:

loop: 0

loop: 1

loop: 2

loop: 3

out of while loop

coutinue语句

count = 0

while count<=10:

count +=1

if count>3 and count<8: #表示在这里当count>3并且count<8的同时,不做任何操作

continue

print('loop:',count)

print('game over')

运行结果如下:

loop: 1

loop: 2

loop: 3

loop: 8

loop: 9

loop: 10

loop: 11

game over

while...else...

与其他语言else一般只与if搭配不同,在python中还有个while...else语句

while后面的else作用是指,当while循环正常执行完,中间没有被break终止的话,就会执行else后面的语句

count = 0

while count<=5:

count +=1

print('loop:',count)

else:

print('循环正常执行完...')

print('out of while loop')

运行结果如下:

loop: 1

loop: 2

loop: 3

loop: 4

loop: 5

loop: 6

循环正常执行完...

out of while loop

如果执行过程中,被break中断,就不会执行else语句

count = 0

while count <= 10:

count +=1

print('loop:',count)

if count ==2:

break

else:

print('程序被break中断')

print('out of while loop')

运行结果如下:

loop: 1

loop: 2

out of while loop

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值