案例1:

lucky_num = 19input_num= int(input("Input the guess number:"))if input_num ==lucky_num:print("bingo!")elif input_num >lucky_num:print("The real number is smaller.")else:print("The real number is bigger.")

案例2:

while 循环(无限循环):

lucky_num = 19
whileTrue:
input_num= int(input("Input the guess number:"))if input_num ==lucky_num:print("bingo!")elif input_num >lucky_num:print("The real number is smaller.")else:print("The real number is bigger.")

break 跳出:

lucky_num = 19
whileTrue:
input_num= int(input("Input the guess number:"))if input_num ==lucky_num:print("bingo!")break
elif input_num >lucky_num:print("The real number is smaller.")else:print("The real number is bigger.")

案例3:

lucky_num = 19input_num = -1
#True = true , False = False
while lucky_num !=input_num:
input_num= int(input("Input the guess number:"))if input_num ==lucky_num:print("bingo!")
elif input_num >lucky_num:print("The real number is smaller.")else:print("The real number is bigger.")

(特殊)案例4:

lucky_num = 19input_num= -1
#True = true , False = False
while lucky_num !=input_num:
input_num= int(input("Input the guess number:"))#if input_num == lucky_num:
#print("bingo!")
if input_num > lucky_num:
print("The real number is smaller.")
elif input_num < lucky_num:
print("The real number is bigger.")print("Bingo!")

案例5:

lucky_num = 19input_num= -1guess_count=0while guess_count < 3:print("guess number:",guess_count)
input_num= int(input("Input the guess number:"))if input_num >lucky_num:print("The real number is smaller.")elif input_num 
#guess_count = guess_count + 1
guess_count += 1
else:print("Too many retrys!")

案例6:

for 循环:

luck_num = 19input_num= -1
for i in range(3):
input_num= int(input("input the guess num:"))if input_num >luck_num:print("the real number is smaller.")elif input_num 
else:print("too many retrys!")

案例7:

name = input("name:")
age= input("age:")
job= input("job:")#拼接,每个都占内存
print("Infomation of[]:" + name + "\nname:[]" + name + "\nage:[]" + age + "\njob:[]" +job)#只占一个空间、段落
msg = '''Infomation of %s:
Name:%s
age:%s
job:%s''' %(name,name,age,job)print(msg)#print("Infomation of %s:\nName:%s\nage:%s\njob:%s" %(name,name,age,job))

案例7(特殊):

name = input("name:")
age= int(input("age:"))
job= input("job:")#拼接,每个都占内存#print("Infomation of[]:" + name + "\nname:[]" + name + "\nage:[]" + age + "\njob:[]" + job)#只占一个空间、段落#%d 数字#%f 浮点
msg = '''Infomation of %s:
Name:%s
age:%d
job:%s''' %(name,name,age,job)print(msg)#print("Infomation of %s:\nName:%s\nage:%s\njob:%s" %(name,name,age,job))

字符串功能:移除空白 分隔 长度 索引 切片

移除空白:

#.strip()移除空白、去掉空格/去掉前后的东西
name = input("name:").strip("z")
age= int(input("age:"))
job= input("job:").strip()#拼接,每个都占内存#print("Infomation of[]:" + name + "\nname:[]" + name + "\nage:[]" + age + "\njob:[]" + job)#只占一个空间、段落#%d 数字#%f 浮点
msg = '''Infomation of %s:
Name:%s
age:%d
job:%s''' %(name,name,age,job)print(msg)#print("Infomation of %s:\nName:%s\nage:%s\njob:%s" %(name,name,age,job))

索引:

>>> name_list = ["zhou", "wu", "wang"]
>>> name_list[1]
'wu'
>>> name_list[2]
'wang'
>>> name_list[0]
'zhou'
>>>

查找功能:

可用:

>>> dir(name_list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>

追加:

>>> name_list.append("zhang")
>>> name_list
['zhou', 'wu', 'wang', 'zhang']
>>> name_list.append("wu")
>>> name_list
['zhou', 'wu', 'wang', 'zhang', 'wu']
>>>

查找:

['zhou', 'wu', 'wang', 'zhang', 'wu']
>>> name_list.index("wu")
1
>>> name_list.count("wu")
2
>>>

插入:

>>> name_list.insert(2,"xu")
>>> name_list
['zhou', 'wu', 'xu', 'wang', 'zhang', 'wu']
>>>

删除(最后一个):

>>> name_list
['zhou', 'wu', 'xu', 'wang','zhang','wu']
>>> name_list.pop()
'wu'
>>> name_list.pop()
'zhang'
>>>

指定删除:

>>> name_list.remove("xu")
>>> name_list
['zhou', 'wu', 'wang']
>>>

翻转:

['zhou', 'wu', 'wang']
>>> name_list.reverse()
>>> name_list
['wang', 'wu', 'zhou']
>>>

排序(数字、字符、字符串):

['wang', 'wu', 'zhou']
>>> name_list.sort()
>>> name_list
['wang', 'wu', 'zhou']
>>>

删除列表指定值:

['zhou', 'wang', 'zhou', 'wu', 'zhou']
>>> for i in range(name_list.count("zhou")):
name_list.remove("zhou")
>>> name_list
['wang', 'wu']
>>>

切片:

>>> a = [1, 2, 3, 'a', 'b']>>> a[0:2]
[1, 2]>>> a[0:3]
[1, 2, 3]>>> a.insert(2,4)>>>a
[1, 2, 4, 3, 'a', 'b']>>> a[0:3]
[1, 2, 4]>>> a[2:5]
SyntaxError: unexpected indent>>> a[2:5]
[4, 3, 'a']>>> a[0:5:2]
[1, 4, 'a']>>> a[0:5:3]
[1, 3]>>> a[:-2]
[1, 2, 4, 3]>>> a[-2]'a'
>>> a[-2:]
['a', 'b']>>> a[0:3]
[1, 2, 4]>>> a[:3]
[1, 2, 4]>>>a.sort()
Traceback (most recent call last):
File"", line 1, in 
a.sort()
TypeError: unorderable types: str() < int()>>> a[0:4]
[1, 2, 3, 4]>>> b = a[:4]>>>b.sort()>>>b
[1, 2, 3, 4]>>>help(a.sort)
Help on built-infunction sort:
sort(...) method of builtins.list instance
L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*

叠加extend:

>>>a
[1, 2, 3, 4, 'a', 'b']>>>b
[1, 2, 3, 4]>>> a +b
[1, 2, 3, 4, 'a', 'b', 1, 2, 3, 4]>>>a.extend(b)>>>a
[1, 2, 3, 4, 'a', 'b', 1, 2, 3, 4]>>> name = "xiaolong"
>>>a.extend(name)>>>a
[1, 2, 3, 4, 'a', 'b', 1, 2, 3, 4, 'x', 'i', 'a', 'o', 'l', 'o', 'n', 'g']

range(迭代器):

>>> range(1)
range(0,1)>>> range(10)
range(0,10)>>> d = range(10)>>>d
range(0,10)

Python 列表(List)


序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 =['physics','chemistry',1997,2000];list2 =[1,2,3,4,5];list3 =["a","b","c","d"];

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

#!/usr/bin/pythonlist1 =['physics','chemistry',1997,2000];list2 =[1,2,3,4,5,6,7];print"list1[0]: ",list1[0]print"list2[1:5]: ",list2[1:5]

以上实例输出结果:

list1[0]:physics

list2[1:5]:[2,3,4,5]

更新列表

你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:

#!/usr/bin/pythonlist =['physics','chemistry',1997,2000];print"Value available at index 2 : "printlist[2];list[2]=2001;print"New value available at index 2 : "printlist[2];

注意:我们会在接下来的章节讨论append()方法的使用

以上实例输出结果:

Valueavailable at index 2:1997Newvalue available at index 2:2001

删除列表元素

可以使用 del 语句来删除列表的的元素,如下实例:

#!/usr/bin/pythonlist1 =['physics','chemistry',1997,2000];printlist1;dellist1[2];print"After deleting value at index 2 : "printlist1;

以上实例输出结果:

['physics','chemistry',1997,2000]Afterdeleting value at index 2:['physics','chemistry',2000]

注意:我们会在接下来的章节讨论remove()方法的使用

Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

Python 表达式结果描述

len([1, 2, 3])

3

长度

[1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

组合

['Hi!'] * 4

['Hi!', 'Hi!', 'Hi!', 'Hi!']

重复

3 in [1, 2, 3]

True

元素是否存在于列表中

for x in [1, 2, 3]: print x,

1 2 3

迭代

Python列表截取

Python的列表截取与字符串操作类型,如下所示:

L =['spam','Spam','SPAM!']

操作:

Python 表达式结果描述

L[2]

'SPAM!'

读取列表中第三个元素

L[-2]

'Spam'

读取列表中倒数第二个元素

L[1:]

['Spam', 'SPAM!']

从第二个元素开始截取列表

Python列表函数&方法

Python包含以下函数:

Python包含以下方法:

序号方法

2

list.count(obj)

统计某个元素在列表中出现的次数

3

list.extend(seq)

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

4

list.index(obj)

从列表中找出某个值第一个匹配项的索引位置

6

list.pop(obj=list[-1])

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

7