python(六)——列表,while循环,for循环,turtle画图工具

目录

while循环

列表

列表元素的访问

列表组合

列表的重复

判断元素是否在列表中

列表截取

二维列表

列表末尾添加一个新数值append()和extend()

列表插入insert()

列表删除元素pop() 和 remove()

清除列表所有元素clear()

从列表中查找某个元素的下标index()

列表中元素个数len()

查看元素在列表中出现的次数count()

删除列表中相同值的元素

将列表倒叙

列表排序 升序 sort()

深拷贝copy()

将元组转成列表

if-elif-else语句

for语句

for循环列表推导式--轻量级循环

range()函数     列表生成器

遍历下标和元素enumerate()

break语句和continue语句

九九乘法表

turtle简单绘图工具

其他命令:

运动命令:

笔画控制命令


while循环

格式:

       while  表达式:

                 语句

逻辑:当程序执行到while语句,首先计算表达式的值,如果表达式的值为假,则结束整个while语句。如果表达式的值为真,则执行语句,执行完语句,再去计算表达式的值

例子:通过索引的方式输出字符串中每个字符

str = "okkk ahuhal"
index = 0
while index < len(str):
    print("str[%d} = %s" %(index , str[index]))
    index += 1

打印1000以内的三位数水仙花数

n = 100
while n < 1000:
    a = n%10
    b = (n//10)%10
    c = (n//100)%10
    if n == a**3 + b**3 + c**3:
        print(n)
    n = n+1

输入一串字符串,提取出其中数字的和

str = input()
index = 0
sum = 0
while index < len(str):
    if(str[index]>'0' and str[index]<'9'):
        sum += int(str[index])
    index += 1

print("the sum =",sum)

字符串比较大小,从第一个字符开始比较,谁的ascll码大就是谁大,如果相等就比较下一个字符的ASCII值大小,谁大就谁大

空值是python中一个特殊的值,用None表示。

 

列表

本质:是一种有序的集合

格式: 列表 = 【列表选项1,列表选项2....列表选项n】

列表中的类型可以是不同的,可以是数字或者字符串

列表元素的访问

取值:

       格式:列表名[下标]

替换:

       格式:列表名[下标] = ...

列表组合

list1 =[1,2]
list2 =[3,4]
list3 = list1 + list2
print(list3)

列表的重复

list1 =[1,2]

print(list1*3)

判断元素是否在列表中

list1 =[1,2,3,4]
print(3 in list1)

列表截取

list1 =[1,2,3,4]
print(list1[0:2])

二维列表

list1 =[[1,2],2,[3,2],[3,4]]
print(list1[0:2])
print(list1[0][0])

列表末尾添加一个新数值append()和extend()

list.append(新数值)   在列表末尾添加新元素

list1 =[1,2,3.5,4]
list1.append(5)
print(list1)
list1.append([4,4])
print(list1)

list.extend(新列表)   在列表末尾增加多个新元素

list1 = [1,2,3,4]
list1.extend([5,6,7])
print(list1)

列表插入insert()

list.insert(插入下标,插入元素)    不覆盖原数据,原数据向后

list1 = [1,2,3,4]
list1.insert(1,30)
print(list1)

列表删除元素pop() 和 remove()

list.pop(删除元素的下标)   没有输入下标,默认移除最后一个元素

list1 = [1,2,3,4]
list1.pop(1)
print(list1)

list.remove(删除的元素)   

list1 = [3,2,5,2,4,1]
list1.remove(3)
print(list1)

清除列表所有元素clear()

list1 = [3,2,5,2,4,1]
list1.clear()
print(list1)

从列表中查找某个元素的下标index()

list1 = [3,2,5,2,4,1]
list1 = list1.index(5)
print(list1)

列表中元素个数len()

list1 = [3,2,5,2,4,1]
print(len(list1))

查看元素在列表中出现的次数count()

list1 = [3,2,5,2,4,1]
print(list1.count(2))

2

删除列表中相同值的元素

list1 = [3,2,5,2,4,1,2]
all = list1.count(2)
index = 0
while index < all:
    list1.remove(2)
    index += 1
    if(index == all):
        print(list1)

将列表倒叙

list1 = [1,2,3,4,5]
list1.reverse()
print(list1)

列表排序 升序 sort()

list1 = [5,2,1,4,3,9,7]
list1.sort()
print(list1)

深拷贝copy()

深拷贝属于内存拷贝,即重新创建一个列表内存,因此两个列表的机器地址不同

list1 = [5,2,1,4,3,9,7]
list2 = list1.copy()
print(id(list1))
print(id(list2))

将元组转成列表

list1 = list((1,2,3,4,5))
print(list1)

 

if-elif-else语句

格式:

if 表达式1:

    语句1

elif 表达式2:

    语句2

elif 表达式3:

    语句3

......

else :         (可有可无)

     语句n

逻辑:

当程序执行到if-elif-else语句时,首先计算表达式1的值,如果表达式1的值为假,则计算表达式2的值。如果if-elif-else语句值为真,则执行语句1,执行完语句1,跳过if-elif-else语句

 

for语句

格式:

for 变量名 in 集合:

     语句

逻辑:按顺序取“集合”中的每个元素赋值给变量,再取执行语句,如此循环往复,直到取完集合中的元素为止

for i in [1,2,3,4,5]:
    print(i)

for循环列表推导式--轻量级循环

列表推导式(list comprehension)是利用其他列表创建新列表(类似于数学术语中的集合推导式)的一种方法。它的工作方式类似于for循环

格式:[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]

list1 = [1,2,3,4,5]
print([x**2 for x in list1])
#生成字典形式
a = dict([(x,x**3) for x in list1])
print(a)

range()函数     列表生成器

功能:生成数列,生成0到9的数列

a = range(0,10)
for i in a:
    print(i)

遍历下标和元素enumerate()

for index,i in enumerate([2,4,6,8]):
    print(index,i)

break语句和continue语句

break语句:跳出for和while循环

注意:只能跳出距离最近的那一层循环

for i in range(0,10):
    print(i)
    if i == 5:
        break

continue语句:跳过当前循环的剩余语句,执行下一次循环

for i in range(0,5):
    print(i)
    if i == 2:
        continue
    print('***')
    print('$$$')

 

例子:

九九乘法表

注意在一行结束的最后要加end="",让print打印不换行

for i in range(1,10):
    for j in range(1,i+1):
        print("%d * %d = %d\t" %(i,j,i*j),end="")
    print("\n",end="")

 

turtle简单绘图工具

绘图窗口的原点在中心

 导入turtle库

其他命令:

程序继续执行

import turtle
turtle.done()

undo()撤销上一次命令

 

运动命令:

forward(x)    向前运动x个单位长度

import turtle
turtle.forward(50)
turtle.done()

backward(x)向后运动x个单位长度

import turtle
turtle.backward(50)
turtle.done()

 right(x)  向右转动x度

import turtle
turtle.right(90)
turtle.forward(50)
turtle.done()

left(x)   向左转动x度

goto(x,y)  移动到(x,y)坐标上

import turtle
turtle.goto(100,200)
turtle.done()

speed()   笔画绘制的速度 (0,10)

 

笔画控制命令

up()  笔画抬起,在移动时不会绘图

import turtle
turtle.up()
turtle.goto(100,200)
turtle.done()

down()  笔画落下,笔画移动时会画图

pensize(x)   笔画的宽度

pencolor('red')  笔画的颜色

reset()   重置窗口,回复所有设置,重置turtle状态

clear()   清空窗口,不重置状态

circle(r,steps=e)   绘制圆形,r是半径,e是边数,数值越大越接近圆

turtle.begin_fill   turtle.fillcolor()   turtle.end_fill   填充颜色

import turtle
turtle.begin_fill()
turtle.fillcolor('red')
turtle.circle(100,steps=6)
turtle.end_fill()
turtle.done()

hideturtle()  隐藏箭头

showturtle()   显示箭头

 

 

 

 

 

 

 

一起学习,一起进步 -.- ,如有错误,可以发评论 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空城机

有钱捧个钱场,没钱捧个人场

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值