【和孩子一起学编程】 python笔记--第四天
第十一章:
可变循环
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笔记--第四天的更多相关文章
- 教孩子学编程 Python
教孩子学编程 Python 目录 第1 章 Python 基础:认识环境 111 认识Python 312 用Python 编写程序 513 运行Python 程序 514 本章小结 615 编程 ...
- 教孩子学编程 python语言版PDF高清完整版免费下载|百度云盘|Python入门
百度云盘:教孩子学编程 python语言版PDF高清完整版免费下载 提取码:mnma 内容简介 本书属于no starch的经典系列之一,英文版在美国受到读者欢迎.本书全彩印刷,寓教于乐,易于学习:读 ...
- 【和孩子一起学编程】 python笔记--第一天
[该随笔记录本人在阅读过程写的笔记和一些问题,格式比较随意,不定时更新] 由于该书使用的python版本为2.5,本人使用的为3.6. 第一章: 遇到的第一个问题: 1.3节 输出指令: print ...
- 【和孩子一起学编程】 python笔记--第二天
第六章 GUI:用户图形界面(graphical user interface) 安装easygui:打开cmd命令窗口,输入:pip install easygui 利用msgbox()函数创建一个 ...
- 【和孩子一起学编程】 python笔记--第五天
关于python2在python3中的改动: https://mp.weixin.qq.com/mp/appmsg/show?__biz=MjM5MDEyMDk4Mw==&appmsgid=1 ...
- 【和孩子一起学编程】 python笔记--第三天
第十章 游戏时间:Skier 首先安装pygame,直接在cmd命令控制框里键入pip install pygame就可以了 代码: import pygame, sys, random skier_ ...
- 【Python】Python-skier游戏[摘自.与孩子一起学编程]
这是一个滑雪者的游戏. skier从上向下滑,途中会遇到树和旗子,捡起一个旗子得10分,碰到一颗树扣100分,可以用左右箭头控制skier方向. 准备素材 一 准备python环境:我下载的pytho ...
- 转【Python】Python-skier游戏[摘自.与孩子一起学编程]
http://www.cnblogs.com/zhaoxd07/p/4914818.html 我遇到的问题 问题1 self.image=pygame.image.load("skier_d ...
- Python笔记(十四)_永久存储pickle
pickle模块:将所有的Python对象转换成二进制文件存放 应用场景:编程时最好将大对象(列表.字典.集合等)用pickle写成永久数据包供程序调用,而不是直接写入程序 写入过程:将list转换为 ...
随机推荐
- 如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查
我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java 代码发送的HTTP请求明细的情况.和javascript代码在浏览器里发送请求可以 ...
- 透明的UITableView
// // ViewController.m // 透明table // // Created by LiuWei on 2018/4/23. // Copyright © 2018年 xxx. Al ...
- div中粘贴图片并上传服务器 div中拖拽图片文件并上传服务器
应用简介:此文主要是描述如何在前端div中直接ctrl+v 粘贴图片,并上传到服务器,包括拖拽图片文件到div中 应用场景描述:用QQ或者其它切图软件截图,在指定的div中ctrl+v 粘贴并显示,点 ...
- 从头开始开发一个vue幻灯片组件
首先新建项目vue init webpack projectName 安装依赖包npm i这些就不说了 接下来就是构建我们的swiper组件 因为我写的代码不规范, 通不过eslint的检测, 会频繁 ...
- PCB下元器件重叠放置--Altium Designer
这里指的是同层元件重叠,即在大的器件下放置小的器件:虽然程序设计规则默认同层元件重叠是错误的,但是在实际设计中,同层元件重叠却经常使用. 以Altium Designer9.0为例:不过好像规则里并没 ...
- Unity编程标准导引-1.1下载和安装Unity
本文为博主原创文章,欢迎转载,请保留出处:http://blog.csdn.net/andrewfan 1.1.下载和安装Unity 1.1.1 选取版本 首先找到Unity官方网站https://s ...
- php使用curl抓取网页自动跳转问题处理
问题分析: 请求抓取http://go.com数据: function curlGet($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, ...
- 浅谈 STM32 硬件I2C的使用 (中断方式 无DMA 无最高优先级)(转)
引子 STM32的硬件I2C很多人都对它望而却步.因为很多电工都说,STM32 硬件 I2C有BUG.不稳定.死机等等……最后都使用GPIO模拟I2C. 的确,模拟I2C好用.但是在我看来在一个72M ...
- git 多个远程仓库
有时候一个git项目需要使用多个远程库,如:测试环境+生产环境,国内加国外等 项目根目录下修改 .git/config 文件 vim .git/config 新增远程一个远程仓库 并为其命名 :如 ...
- oo_project_2java数据类型范围及测试
数据类型范围测试 一.数字常数的编译问题 java中的常量数字默认以int型编译 如: long a = 1234567890; //十位 long b = 12345678900; //默认数据为i ...