彩世界开奖app官网-彩世界平台官方网址(彩票平台)
做最好的网站
来自 计算机编程 2019-12-07 01:25 的文章
当前位置: 彩世界开奖app官网 > 计算机编程 > 正文

python学习一,python基本语法

5.while循环

1 i=0
2 while i<10:
3     print(i)
4     i=i 1
5 else:
6     print(11)

原理同for循环,不想执行else依然需要使用break跳出或者不写else语句。

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

type内置函数用于查看变量的数据类型

print type(['runoob', 786, 2.23, 'john', 70.2, 123, 'john'][2:4])

得到<type 'list'>

print type(type(['runoob', 786, 2.23, 'john', 70.2, 123, 'john'][2:4]))

得到``<type 'type'>`,说明type返回的类型是type,而不是字符串。

2.变量的声明:

在python中我们想要声明一个变量时,并不需要给这个变量前增加变量的类型,python会自动匹配出我们想要声明的数据类型,比如:

str1 = 1.523
print(type(str1))
str2 = 1
print(type(str2))
str3 = "hello world"
print(type(str3))

注意:type方法是打印出当前对象的数据类型。

而这三个打印出来的数据类型分别如下,正是float,int和str类型。

<class 'float'>
<class 'int'>
<class 'str'>

下边说一下字符串的格式化输出,通常我们输出字符串只能直接打印,但是在python中有一个格式化输出 的功能,如下:

str = '''
name:liqt
password:111
age:90
sex:男
'''
print(str)

如果使用三个单引号或双引号将其包括起来,就可以按照我们的想法进行直接打印输出,输出结果如下

name:liqt
password:111
age:90
sex:男

最后关于变量我们再说一下它的赋值方式。变量的赋值方式共有三种,我们依次说明

1.通过百分号加数据类型赋值,如下

name="liqt"
age=18
sex="男"
str="""--------info--------
name:%s
age:%d
sex:%s
"""%(name,age,sex)
print(str)

其中%s代表字符串,%d代表整型,输出结果如下

--------info--------
name:liqt
age:18
sex:男

2.通过占位符赋值,如下  

name="liqt"
age=18
sex="男"
str="""--------info--------
name:{0}
age:{1}
sex:{2}
""".format(name,age,sex)
print(str)

打印结果同上

3.通过与占位符中的参数名对应赋值,如

name="liqt"
age=18
sex="男"
str="""--------info--------
name:{_name}
age:{_age}
sex:{_sex}
""".format(_name=name,_age=age,_sex=sex)
print(str)

打印结果都是一样的,但是我个人比较推荐第三种,因为看起来会十分清晰,也不需要一定要按照变量赋值的顺序。

双分支

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

例如:

xiaoyafei_age = 24
if xiaoyafei_age<23:
    print('还是很年轻')
else:
    print('不年轻了')

运行结果如下:

不年轻了

数据类型

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

4.for循环

1 for i in range(10):
2     print(i)
3 else:
4     print(11)

基本的语句结构如上所示,很简单。但是还有几点说明

第一:for后边的循环条件不需要加小花括号

第二:条件之后需要跟一个冒号(:),这一点跟if语句相同

第三:for循环执行结束之后还可以写一个else,表示不属于for循环中或者循环执行完之后必须要执行的代码,也就是说,else是肯定会在for执行完之后执行的,只有在for循环中使用break跳出循环,else才不会执行,增加break如下

1  for i in range(10):
2      print(i)
3      if i==5:
4          break
5  else:
6      print(11)

第四:rang(10)可以改为任意的数组或者list

单分支

if 条件:
    满足条件后执行的代码

例如:

xiaoyafei_age = 22
if xiaoyafei_age<23:    #条件
    print('he is young')        #满足条件做的事情 

运行结果:

he is young

工作需要三天学会Python,好吧,试试。

python基本语法:

多分支

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呢?这是因为代码是从上到下依次判断,只要满足一个,就不会再往下走啦,这一点一定要清楚呀!

Python元组

元组是另一个数据类型,类似于List(列表)。

元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,等于只读列表。

元组的内置函数和方法,参见http://www.runoob.com/python/python-tuples.html

3.if-else语句

首先举例

1 a =1
2 if a==1:
3     print("true")
4 elif a==2:
5     print("false")
6 else:
7     print("other")

以上结果的输出毫无疑问就是true,但是有几点需要说明,

首先,在if后边的条件语句是不需要用小括号括起来的,并且在写完条件语句之后,需要在后半使用冒号(:)来表示条件语句结束,后边写需要执行该条件的语句,也就是print输出

第二:注意第三行代码与句首是有距离的(一个TAB),这一点要特别注意,因为在python中,为了区分某一条语句是否属于一个条件之后 的执行语句,就从结构上来区分层次,就像我们在使用编译工具的时候,每一层文件夹跟上层文件夹都有一些后移是一个道理

第三:在if语句中,如果想要表示还有其他可能的条件,不是使用else if ,而是elif,这点与很多语言都是有区别的

字符串

在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 = '''
...     飞流直下三千尺,
...     疑是银河落九天。
... '''

行和缩进

缩进一律用4空格,不多说。

运算如果折行,需要加

aa = 1
bb = 2
cc = aa   
     bb
print cc // 得3

1.python基本语句结构:

首先,在其他的语言中,比如java,c ,c#等,没写完一行语句之后,都需要在语句的末尾加一个分号,表示该语句结束,但是在python中,我们是不需要在每一行的末尾增加分号的,python默认每一行为一条语句,当然我们加上也并不会报错,这一点跟js有些像。比如如下代码会顺利执行

1 print("hello world")
2 print("hello world")
3 print("hello world")
4 print("hello world")
5 print("hello world")

 

格式化输出

#-*- 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)
<class 'str'>

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

循环控制语句之二:continue 语句

continue 语句跳出本次循环,而break跳出整个循环。

continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

也就是说,break终止for的剩余循环,continue提前结束本次循环。

读取用户输入

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

输出中文

#!/usr/bin/python
#coding=utf-8

print "你好,世界";

注释

Print

x="a"
y="b"
# 换行输出
print x
print y

print '---------'
# 不换行输出,x和y中间会有空格
print x,
print y,

程序交互

运算符

没有全等运算符。

减法赋值运算符(-=)等赋值运算符,跟其他语言一致。

逻辑运算符:

  • 逻辑与 a and b
  • 逻辑或 a or b
  • 逻辑非 not(a and b),相当于其他语言的叹号(!)

成员运算符:in跟js语言一致,如果在指定的序列中找到值返回 True,否则返回 False。not in跟in相反。
···
list = [1, 2, 3, 4, 5 ];
a = 6

print a in list # 得到False
print a not in list # 得到True
···

Python基础

  • 第一个python程序
  • 变量
  • 程序交互
  • 基本数据类型
  • 格式化输出
  • 基本运算符
  • 流程控制if...else...
  • 流程控制-循环

循环语句

Python有for循环和while循环,用法同其他语言,没有do..while循环。

流程控制-循环

Python 字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。字典相当于js语言的对象。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}

print tinydict['code']  # 输出键为'code' 的值
print tinydict.keys()  # 输出所有键
print tinydict.values()  # 输出所有值

字典的内置函数和方法,参见http://www.runoob.com/python/python-dictionary.html

死循环

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

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

count = 0
while True:         #True本身就代表着真
    print('你是风儿我是沙,缠缠绵绵到天涯......',count)
    count  =1

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

还可以用 isinstance 来判断数据类型

a = 111
isinstance(a, int)
# 得到True

循环终止语句

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

  • break用于完全结束一个循环,跳出循环体执行循环后面的语句
  • continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全跳出循环

for ... in ... 循环

for letter in 'Python':     # 遍历字符串
   print '当前字母 :', letter

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 遍历列表,也就是遍历数组
   print '当前水果 :', fruit

print "Good bye!"

打印:

当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : h
当前字母 : o
当前字母 : n
当前水果 : banana
当前水果 : apple
当前水果 : mango
Good bye!

while循环

循环控制语句一:break 语句

for letter in 'Python':  # 遍历字符串
    if letter == 'h':
        break # 到h的时候就终止了,也不会打印h
    print '当期字母 :', letter

得到

当期字母 : P
当期字母 : y
当期字母 : t

var = 10
while var > 0:
    print '当期变量值 :', var
    var = var - 1
    if var == 5: 
        break # 当变量 var 等于 5 时退出循环

得到

当期变量值 : 10
当期变量值 : 9
当期变量值 : 8
当期变量值 : 7
当期变量值 : 6

比较运算

Python列表

Python 中使用最频繁的数据类型,相当于数组。

用[头下标:尾下标]可以截取相应的列表。

print ['runoob', 786, 2.23, 'john', 70.2, 123, 'john'][2:4]

加号( )是列表连接运算符,星号(*)是重复操作,就跟操作字符串一样。

列表的内置函数和方法,参见http://www.runoob.com/python/python-lists.html

变量

循环后接else语句

这是一种比较深的用法,将来遇到了再回来说吧。参考http://www.runoob.com/python/python-for-loop.html

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

数字类型

四种不同的数字类型:

  • int(有符号整型)
  • long(长整型[也可以代表八进制和十六进制])
  • float(浮点型)
  • complex(复数)

其中日常主要用整形和浮点型。

random()随机数函数
uniform(x, y)范围随机数
shuffle(lst)随机排序函数

算数运算

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

那么:

等待用户输入

其实这不算入门功能,但是其实很有用,用于人机交互。这里先只提一句:

raw_input("nnPress the enter key to exit.")

"nn"在结果输出前会输出两个新的空行。一旦用户按下 enter(回车) 键退出,按其他键就把内容显示出来。

复制运算

while 后面接 else 语句

表示跳出循环之后要执行什么。

交互器执行

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

Python空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行并不是Python语法的一部分,跟其他语言一样,为了代码分界。记得多空行就行了。

数据类型

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

数据类型转换

数据类型的转换,只需要将数据类型作为函数名即可。

这里有几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。http://www.runoob.com/python/python-variable-types.html

文件执行

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

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

2.保存为HelloWorld.py,注意要强调.py后缀名的作用
3.进入 cmd命令行,执行python HelloWorld.py,看结果(在文件名前加python的原因是要把代码交给python解释器去解释执行)

while循环

count = 0
while count < 9:
    print 'The count is:', count
    count = count   1

print "Good bye!"

打印出:

The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!

注意这里空行和缩进的必要性,因为没有其他语言的大括号来包裹,只能用空行和回退缩进来表示脱离上述循环。回退缩进是必须的,空行不是必须,只是为了直观。

语法

简单吧,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

条件语句

跟其他语言的写法区别在于,条件语句不用括号包裹,而且后面有一个冒号。else后面也要有冒号。

其他语言的else if在这里是elif,就四个字符。

python 并不支持 switch 语句。

其他语言的“逻辑与”(&&)在py里是and,“逻辑或”(||)在py里是or。

执行语句用四个空格缩进。多个语句写成多行。

if True:
    print "True"
    print "haha"
else:
    print "False"

条件语句可以换行写,但这时候要用括号括起来,py会自动解析成一行。

if (True and
    True):
    print "True"
else:
    print "False"

常量

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

AGE_OF_XIAO = 22        #这种就是常量

变量

没任何标记,没有var,没有美元符号标记,只要有赋值符号,前面就是变量名。

连续赋值:

a = b = c = 1 # 三个变量指向相同的内存空间

分别赋值:

a, b, c = 1, 2, "john"

删除变量

del var_a, var_b

变量定义规则

  • 变量只能是字母、数字、下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 关键字不能被称为变量名,如['and','as','class']

字符串

s = 'ilovepython'
s[1:5] # 得到love

加号 是字符串连接运算符,跟js一样。星号 * 是重复操作,就是把字符串变量的值重复输出N次:

s = 'ilovepython'
b = s * 3
print b # 得到ilovepythonilovepythonilovepython

字符串格式化:

print "My name is %s and weight is %d kg!" % ('Zara', 21)

得到:

My name is Zara and weight is 21 kg!

虽然python字符串格式化符号有13种,但其实只有两种常用,就是%s和%d。

三引号:

hi = '''hi 
there'''
print hi

得到两行字

hi
here

三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。

一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

string对象,有一大堆的方法和属性,参见http://www.runoob.com/python/python-strings.html

基本数据类型

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

前言

安装和基本常识了解都以最快速了解,开发环境PyCharm赶紧装上,其他常识都等有需要学习的时候再说。为了最省事,只在PyCharm里运行、调试程序,不碰控制台。

逻辑运算

变量定义规范

第一个python程序

字符串拼接

>>> name = 'xiaoyafei'
>>> age = '22'
>>> name   age      #相加就是简单的拼接
'xiaoyafei22'
>>> name * 10       #相乘即使复制自己多少次
'xiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafei'

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

>>> name = 'xiaoyafei'
>>> age = 10
>>> type(name)
<class 'str'>
>>> type(age)
<class 'int'>
>>> name   age
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: must be str, not int     #类型必须是字符串

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

变量是什么?

eat = 100 20 30
cloth = 200 300
print('total=',cloth eat)

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

数字

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浮点型、复数型

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

代码注释原则

  • 不用全部添加注释,只需要在自己觉得很重要或者不好理解的地方加注释即可
  • 注释可以用中文或英文,但不能用拼音

定义方式

驼峰体

AgeOfXiao = 20
NumberOfStudents = 56

下划线

age_of_Xiao = 20
Number_of_Stundets = 56

布尔值

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

>>> a = 2
>>> b = 5
>>> a > b       #不成立就是Flase,即假
False
>>> a < b       #成立就是True,即真
True

声明变量

name = 'xiaoyafei'

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

本文由彩世界开奖app官网发布于计算机编程,转载请注明出处:python学习一,python基本语法

关键词: Python