第十一章:

可变循环

newStars = int(input("how many stars do you want?"))
for i in range(newStars):
print("*") #输出:
#how many stars do you want?
#*
#*
#*

可变嵌套循环

newline = int(input("how many lines do you want?"))
newStars = int(input("how many stars do you want?"))
for j in range(newline):
for i in range(newStars):
print('*')

长代码行:用反斜杠(\)或者加小括号()

lines = 'a'+'b'+ \
'c' + 'd' +\
'e' + 'f' lines = ('a'+'b'+ 'c' + 'd' + 'e' + 'f')

十二章:列表

创建一个空列表

newList = []

向空列表里追加内容:

调用函数.append()

newList = []
newList.append('abc')
print(newList)

向列表追加元素之前,必须现有列表,追加的元素在列表最末尾

列表里的元素类型可以是多样的,包括数字,字符串,对象,其他列表

列表有点像是c中的数组

查找列表中的元素:

newList=['a','b','c','d','e','f']
print(newList[3]) #输出为:’d'

列表分片:

newList=['a','b','c','d','e','f']
print(newList[1:4]) #['b', 'c', 'd']

输出还是一个列表,列表包含下界不包含上界,和range()一样,而上面查找输出的是字符

分片简写;

newList=['a','b','c','d','e','f']
print(newList[1:])
#['b', 'c', 'd', 'e', 'f'] 输出从第二个到结尾 newList=['a','b','c','d','e','f']
print(newList[:4])
#['a', 'b', 'c', 'd'] 从第一个到第四个 newList=['a','b','c','d','e','f']
print(newList[:])
#['a', 'b', 'c', 'd', 'e', 'f'] 输出整个列表

向列表增加元素的其它方法:

append()只在末尾增加一个元素;

extend()如下:

newList=['a','b','c','d','e','f']
newList.extend(['g','h','i'])
print(newList)

insert():

这时append()添加了一个列表['f','g','h']而不是在原列表里添加三个字符。

删除列表元素:

remove()、del、pop()

newList=['a','b','c','d','e','f']
newList.remove('a')
print(newList)

remove()不需要知道元素具体位置,只要知道元素存在即可

del允许利用索引从列表删除元素:

newList=['a','b','c','d','e','f']del newList[3]
print(newList)

pop()从列表 取出 最后一个 元素交给你。这说明你可以为它指派一个名字:

newList=['a','b','c','d','e','f']
new = newList.pop()
print(new)

也可以指定列表中的一个元素取出:

newList=['a','b','c','d','e','f']
new = newList.pop(3)
print(new)

搜索列表

in关键字:

newList=['a','b','c','d','e','f']
if 'a' in newList:
print('exist')

'a' in newList 是一个boole表达式,会返回ture或false:

newList=['a','b','c','d','e','f']
'a' in newList
# 'a'在列表返回ture
# 不在列表里的返回false

查找索引:

newList=['a','b','c','d','e','f']
print(newList.index('d'))
#输出‘d'在列表中的索引 3

如果列表中没有这个值,index()会给出一个错误,所以最好结合in使用:

newList=['a','b','c','d','e','f']
if 'd' in newList:
print(newList.index('d'))

循环处理列表:

newList=['a','b','c','d','e','f']
for i in newList:
print(i)

列表排序
使用sort()方法:

newList=['b','a','c','f','d','e']
newList.sort()
print(newList)

sort()方法会自动按照字母顺序排序,如果是 数字会按照从小到大排序

sort()会修改原列表,而不是创建一个新的列表

按逆序排序:

1:先正序排好,然后对这个列表逆置(reverse)

newList=['b','a','c','f','d','e']
newList.sort()
newList.reverse()
print(newList)

2:向sort()增加一个参数,直接让它按降序排序(从大到小)

newList=['b','a','c','f','d','e']
newList.sort(reverse = 1) #原书中为reverse = Ture,但是编译器报错,说Ture未定义
print(newList)

刚才的排序和逆置都是对原来的列表修改,如果想保留原来的列表,可以用分片记法建立副本

newList=['b','a','c','f','d','e']
new = newList[:]
new.sort(reverse = 1)
print(new)

另一种排序方法:

sorted(),可以得到一个列表的有序副本而不会影响原列表顺序

newList=['b','a','c','f','d','e']
new = sorted(newList)
print(newList)
print(new)

可改变和不可改变:

在python中数字和字符串是不可改变的,而列表是可改变的。

有些情况下你可能不希望列表可以改变。

有一个名为元组(tuple)的类型,这就属于不可改变的列表:

my_tuple = ('a','b','c')

这里使用了圆括号,而不是中括号。

由于元组不可改变,所以不能对元组进行排序、追加、删除

一旦元组创建,它就会一直保持不变

双重列表:数据表

类似于c中的二维数组

一种建立双重列表的方法:

a = [12,23,232,44]
b = [1234,3434,4,6]
c = [121,222,333,444]
d = [a,b,c]
for i in d:
print(i)

也可以直接创建d

d = [[12,23,232,44],[1234,3434,4,6],[121,222,333,444]]
for i in d:
print(i)

从表中获取一个值:

d = [[12,23,232,44],[1234,3434,4,6],[121,222,333,444]]
print(d[0][3])

【和孩子一起学编程】 python笔记--第四天的更多相关文章

  1. 教孩子学编程 Python

    教孩子学编程   Python 目录 第1 章 Python 基础:认识环境 111 认识Python 312 用Python 编写程序 513 运行Python 程序 514 本章小结 615 编程 ...

  2. 教孩子学编程 python语言版PDF高清完整版免费下载|百度云盘|Python入门

    百度云盘:教孩子学编程 python语言版PDF高清完整版免费下载 提取码:mnma 内容简介 本书属于no starch的经典系列之一,英文版在美国受到读者欢迎.本书全彩印刷,寓教于乐,易于学习:读 ...

  3. 【和孩子一起学编程】 python笔记--第一天

    [该随笔记录本人在阅读过程写的笔记和一些问题,格式比较随意,不定时更新] 由于该书使用的python版本为2.5,本人使用的为3.6. 第一章: 遇到的第一个问题: 1.3节 输出指令: print ...

  4. 【和孩子一起学编程】 python笔记--第二天

    第六章 GUI:用户图形界面(graphical user interface) 安装easygui:打开cmd命令窗口,输入:pip install easygui 利用msgbox()函数创建一个 ...

  5. 【和孩子一起学编程】 python笔记--第五天

    关于python2在python3中的改动: https://mp.weixin.qq.com/mp/appmsg/show?__biz=MjM5MDEyMDk4Mw==&appmsgid=1 ...

  6. 【和孩子一起学编程】 python笔记--第三天

    第十章 游戏时间:Skier 首先安装pygame,直接在cmd命令控制框里键入pip install pygame就可以了 代码: import pygame, sys, random skier_ ...

  7. 【Python】Python-skier游戏[摘自.与孩子一起学编程]

    这是一个滑雪者的游戏. skier从上向下滑,途中会遇到树和旗子,捡起一个旗子得10分,碰到一颗树扣100分,可以用左右箭头控制skier方向. 准备素材 一 准备python环境:我下载的pytho ...

  8. 转【Python】Python-skier游戏[摘自.与孩子一起学编程]

    http://www.cnblogs.com/zhaoxd07/p/4914818.html 我遇到的问题 问题1 self.image=pygame.image.load("skier_d ...

  9. Python笔记(十四)_永久存储pickle

    pickle模块:将所有的Python对象转换成二进制文件存放 应用场景:编程时最好将大对象(列表.字典.集合等)用pickle写成永久数据包供程序调用,而不是直接写入程序 写入过程:将list转换为 ...

随机推荐

  1. Excel,此文件中的某些文本格式可能已经更改,因为它已经超出最多允许的字体数。

    既然是超出最多允许的字体数,那么就不要循环创建IFont.先创建一个IFont font=wk.CreateFont();后面都使用它即可.

  2. springboot实战(汪云飞)学习-1-1

    java EE开发的颠覆者 spring boot 实战 随书学习-1 1.学习案例都是maven项目,首先要在eclipse 中配置 maven,主要修改maven的配置文件:配置文件下载链接: h ...

  3. 替换OSD操作的优化与分析

    http://www.zphj1987.com/2016/09/19/%E6%9B%BF%E6%8D%A2OSD%E6%93%8D%E4%BD%9C%E7%9A%84%E4%BC%98%E5%8C%9 ...

  4. 接触python的第2天:了解变量和打印

    1变量不用定义类型, 可以直接赋值 >>> a =5 >>> a 5 >>> a='hello' >>> a 'hello' 2 ...

  5. PHP curl_escape函数

    curl_escape — 对给定的字符串进行URL编码. 说明 string curl_escape ( resource $ch , string $str ) 该函数对给定的字符串进行URL编码 ...

  6. 「NOI2017」蔬菜 解题报告

    「NOI2017」蔬菜 首先考虑流 可以从 \(s\) 流入表示得到蔬菜,流出到 \(t\) 表示卖出蔬菜,给每个蔬菜拆点,并给它它每天应得的蔬菜. 但是我们没办法直接给,注意到如果把变质看成得到并可 ...

  7. mock.js模拟生成假数据

    mock使用方法很简单, 下面是简单的用法, 详细的用法可以看官方文档, 写的很清楚, 下面的代码直接拷贝到本地html文件, 双击打开即可生成你想要的数据 <!DOCTYPE html> ...

  8. LOJ 3093 「BJOI2019」光线——数学+思路

    题目:https://loj.ac/problem/3093 考虑经过种种反射,最终射下去的光线总和.往下的光线就是这个总和 * a[ i ] . 比如只有两层的话,设射到第二层的光线是 lst ,那 ...

  9. react教程 — 组件

    一.state使用: 1.什么时候不能 设置state(或没有必要设置): a.constructor. 2.默认的 state 值,一定要在初始化设置.因为,render 比 setState 早. ...

  10. [CSP-S模拟测试76]题解

    咕咕咕 A.序列 无解情况:$n>a*b$或$n<a+b-1$ 把序列分成B段,每段内部上升,各段分界处构成下降子序列. 实现并不是太简单,要动态地考虑一下边界什么的. #include& ...