python笔记和练习----少儿编程课程【阶段二(一)】

第一课 逻辑运算符、身份运算符、成员运算符、运算符优先级

知识点

逻辑运算符

and:       布尔与---条件测试都为Ture,整个表达式为True,否则为False。

or:         只要有一个条件测试为True时,结果为True,只有都为False,结果才为False。

not:        条件测试的结果取反

身份运算符

is        如果两个变量指向同一个对象,则返回 True,否则返回 False,等价于id(x) == id(y)

is not  如果两个变量指向不同对象,则返回 True,否则返回 False,等价于id(x) != id(y)

成员运算符

测试某个成员是否在某个实例中,实例包括字符串、元组、列表。

in 成员在某个实例中返回True,否则返回False

not in 与上面正好相反

运算符优先级

1.**幂运算符(最高优先级)

2.*、/、%、//(乘除取模和取整) 3.+、-(加减)

4.=、%=、/=、*=、//=、+=、-= (赋值运算符)

5.Is、Is not(身份运算符)

6.In、not in(成员运算符)

7.and 、or、not(逻辑运算符) 

任务

课后练习


第二课 石头剪刀布

任务描述

制作一个小游戏----石头剪刀布,玩家与电脑对弈,玩家从键盘输入数字,1代表石头,2代表剪刀,3代表布,游戏规则是石头砸碎剪刀,剪刀剪开布,布包住石头。

程序展示

# 导入一个随机数模块
import random

#设置无限次的循环
while True:
    # 定义一个变量,来接收玩家选择的参数
    number = int(input('请输入一个数字\
    (1 - 石头, 2 - 剪刀, 3 - 布,4 - 退出):'))
    # 定义一个变量,来表示电脑的操作
    computer = random.randint(1, 3)
    # 如果键盘输入4,则游戏停止
    if number == 4:
        break
    # 如果玩家操作与电脑相同,则平局
    elif number == computer:
        print('电脑出了%s,平局!' % computer)
    #如果玩家是石头,电脑是剪刀,
    #或者玩家是剪刀,电脑是布,
    #或者玩家是布,电脑是石头,则玩家获得胜利
    elif(number == 1 and computer == 2) or \
        (number == 2 and computer == 3) or \
        (number == 3 and computer == 1):
        print('电脑出了%s,玩家获胜!' % computer)
    # 否则电脑获胜
    else:
        print('电脑出了%s,电脑获胜!' % computer)

课后练习

改善一下课堂上老师所讲的程序,看看能否做出更好玩的以及用户体验更好的程序?


第3课 while循环

知识点

  • while语句用处:

用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

  • 语法:
while 判断条件:
    被执行语句。。。
  • 流程图:

  • 条件表达式:

        任何非零、或非空(null)的值均为True。

  • while ...else:

        python 中,while…else在循环条件为false时执行 else语句块。 

  • While无限循环:

        while True: 

  • 如果while循环体中只有一条语句,你可以将该语句与while 写在同一行:

        while flag:print('sssssssssss')

任务

1、输出1-9之间的数字

count = 0
while (count < 9):
    count = count + 1
    print('The count is:%s'%count)
print ("Good bye!")

2、输出1-100所有数字的和 

i=0
s=0
while i<100:
    i += 1
    s += i
print("1-100所有数字的和:%s"%s)

3、1-100所有偶数的和 

# 1-100所有偶数的和
n = 0
s = 0
while n < 100:
    n += 1
    if n % 2 == 0:
        s += n
print("1-100所有偶数的和:%s" % s)

4、输入1-9之间的数字,如果不是1-9之间的数字,输出“你输入的数字超出1-9的范围了” 

i=int(input("请输入1-9之间的数字:"))
while i>0 and i<10:
    i=int(input("请继续输入1-9之间的数字:"))
else:
    print("你输入的数字超出1-9的范围了")

课后练习

1、1-100能被7整除的数字和


第4课:while循环的应用

任务

1、1-100所有奇数的和。

i=1
sum=0
while i<=100:
    if i % 2 ==1:
        sum= sum + i
    i=i+1
print(sum)

2、使用while循环打印一个矩形。

*****
*****
*****
*****
*****

3、让用户输入要打印的行数,然后打印矩形。

while True:
    i = 1
    hangshu=input("请输入你要打印几行或者按q退出:")
    if hangshu == 'q':
        break
    hangshu = int(hangshu)
    while i<=hangshu:
        i = i + 1
        print("*****")

4、使用while循环,设计一个用户登录程序,要求输入用户名和密码,与程序中事先设置好的用户名和密码进行比对,有3次输入机会。

name = 'wangwangwang'
mima = '12341234'
i=1
while i<=3:
    a=input("请输入你的名字:")
    b=input("请输入你的密码:")
    if a==name and b==mima:
        print("登录成功!")
        break
    else:
        print("登录失败,你的用户名或者密码有错误!")
        i=i+1

课后练习

青少年软件编程(python二级)等级考试试卷-编程题(2023年3月)

第1题 问答题


某快递公司对于邮寄的包裹有尺寸要求,必须满足以下条件:

每件包裹的长、宽、高之和须小于或等于200厘米,

且任意一边长度必须小于或等于80厘米。

(假设所有包裹都是长方体)


编写一个重复执行的程序,可以实现自动判断包裹是否符合要求。

具体要求如下:
(1)用户以厘米为单位按顺序分别输入包裹的长、宽、高(用户只输入大于零的数字,不输入长度单位,可以输入小数;分多次输入还是一次输入不做要求);
(2)程序自动判断用户输入的包裹尺寸是否满足此快递公司的要求;
(3)如果满足要求,就输出"可以邮寄";
(4)如果不满足要求,就输出"不可以邮寄";
(5)重复以上操作。


第2题 问答题


        编写程序帮老师对英语试卷中的英文字母、数字和其他字符(注意:包括空格)进行分类并统计每种字符的数量。
输入样例:
**WVelcome to 2023~!
输出样例:
字母:Welcometo,共9个
数字:2023,共4个
其它字符:**  ~!,共6个


第5课 循环-for的使用

知识点

  • for循环语句:

        python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

  • 语法:
for iterating_var in sequence:
   statements(s)
  • 流程图

  •  For循环使用else语句

else中的语句在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行的。

for i in range(10):
    print(i)
else:
    print('超过9了!')

任务

  • 遍历一个字符串
  • 遍历1-10
  • 遍历一个列表
  • 遍历一个列表,通过序列索引迭代
  • 使用for循环来迭代序列,创建一个1-10的数组!

课后练习


第6课 for循环的应用

知识点

range的用法:

range(数值) ------->>>从0开始,在数值前一位停止。

range(数值1,数值2)------->>> 从数值1到数值2前一位停止。

range(数值1,数值2,步长)------->>> 从数值1起始,到数值2前一位停止,步长可设定。

任务

  • 求1-100之间所有数值之和
    sum = 0
    for i in range(1,101):
        sum = sum + i
    print(sum)
  • 求1~100之间所有偶数之和
sum = 0
for i in range(2,101,2):
    sum = sum + i
print(sum)
  • 求1~100之间所有奇数之和
sum = 0
for i in range(1,101,2):
    sum = sum + i
print(sum)
  • for循环遍历字符串
str = "happy new year"
for char in str:
    if char != " ":
        print(char)
  • 使用for循环的方式,将你们的名字遍历出来。
names = ["tangseng","sunwukong","zhubajie","shaheshang"]
for name in names:
    print(name,end=",")
  • 使用for循环,制作用户登录系统,要求获取固定的用户账号和密码,有三次机会,机会用完,则程序结束,无法再继续输入。

课后练习


第7课 多层循环

知识点

  • 嵌套循环:

循环里嵌套循环

while 测试真假的表达式1:
    while 测试真假的表达式2:
        循环体

任务

1、单层循环打印三角形

for i in range(1,6):
    print("*" * i)

2、双重循环打印小星星

for i in range(1,6):
    for j in range(i):
        print("*",end="")
    print("")

3、打印九九乘法表

#row 代表第几行,col代表第几列
for row in range(1,10):
    for col in range(1,row+1):
        #"\t"代表制表符,协助对齐输出的文本
        print("%d*%d=%d"%(col,row,col*row),end="\t")
    print("")

#1*1=1
#1*2=2  2*2=4
#1*3=3  2*3=6 3*3=9
#1*4=4  2*4=8 3*4=12 4*4=16

4、求最大公约数和最小公倍数

5、测字符串的长度 

课后练习


第8课 我想跳出这个循环圈

知识点

break语句:能够在执行到break语句时,跳出这个循环!

continue的作用:用来结束本次循环,紧接着执行下一次循环!

任务

  • 打印一个数组,要求数值1-20,单独缺少数值16;
    for i in range(1,21):
        if i==16:
            continue
        print(i)
    else:
        print('超过20了!')
  • 使用break语句,创建一个数组,要求1-100,在数值35 时结束创建!
    for i in range(1,101):
        print(i)
        if i==35:
            break
    else:
        print('超过100了!')

课后练习

猜数字:

1.系统随机生成一个1~100的数字;
2.用户共有5次机会猜;
3.如果用户猜测数字大于系统给出的数字,打印"too big";
4.如果用户猜测数字小于系统给出的数字,打印"too small";
5.如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖",并退出循环;
import random
computer_number = random.randint(1,100)
for i in range(5):
    my_number=int(input("请输入你猜的数字:"))
    if my_number==computer_number:
        print("恭喜中奖")
        break
    elif my_number > computer_number:
        print("too big")
    else:print("too small")
else:print("你5次机会用完了")
print("程序结束了")

第9课 闯关版石头剪刀布

任务描述

制作一个小游戏----石头剪刀布。

玩家与电脑对弈,玩家从键盘输入数字,1代表石头,2代表剪刀,3代表布,4代表重新开始当前关卡,5代表退出游戏。

游戏规则是石头砸碎剪刀,剪刀剪开布,布包住石头。

总共设置三个关卡,每个关卡,玩家有10次机会出手。

第一关只要玩家胜三次,就进入第二关。

第二关玩家只要胜5次,就进入第三关。

第三关玩家需要胜7次,才完成闯关。

程序展示

"""
制作一个小游戏----石头剪刀布。
玩家与电脑对弈,玩家从键盘输入数字,1代表石头,2代表剪刀,3代表布,4代表重新开始当前关卡,5代表退出游戏。
游戏规则是石头砸碎剪刀,剪刀剪开布,布包住石头。
总共设置三个关卡,每个关卡,玩家有10次机会出手。
第一关只要玩家胜三次,就进入第二关。
第二关玩家只要胜5次,就进入第三关。
第三关玩家需要胜7次,才完成闯关。
"""
import random

level = 1 #代表第一关
while level <= 3:
    level_require = level * 2 +1  #每一关要求玩家胜的次数
    number_player_success = 0 #玩家胜的次数初始化为0
    print("你已进入第%s关!" % level)
    for i in range(0,10):
        # 玩家输入数字
        player = int(input("    请输入一个1到5的数字,1-石头,2-剪刀,3-布,4-重新开始当前关卡,5-退出游戏:"))
        # 如果玩家输入的是4或者5,都要结束当前关卡
        if player == 4 or player == 5:
            break
        computer = random.randint(1, 3) #计算机选择一个数字
        print("computer 出的数字是",computer)#用于测试,让玩家看到计算机选择的数字
        if player == computer:
            print("    玩家出的是%s" %player,"电脑出的是%s" %computer,"所以是平局")
        elif (player == 1 and computer == 2) or \
            (player == 2 and computer == 3) or \
            (player == 3 and computer == 1):
            print("    玩家出的是%s" % player, "电脑出的是%s" % computer, "所以是玩家胜")
            number_player_success += 1
        else:
            print("    玩家出的是%s" % player, "电脑出的是%s" % computer, "所以是电脑胜")
        #判断玩家是否已经闯出关卡
        if number_player_success >= level_require:
            print("    第%s关闯关成功" % level)
            level += 1
            break
        print("    你还剩下%s次出手机会" % (9 - i))
    else:
        print("    闯关失败")
    if player == 5:break
else:print("恭喜你,全部关卡都已完成!!!")
print("游戏结束了!!!")

课后练习

  • 编写一个石头剪刀布基础版

玩家与电脑对弈,玩家从键盘输入数字,1代表石头,2代表剪刀,3代表布,电脑随机选择一个数。

游戏规则是石头砸碎剪刀,剪刀剪开布,布包住石头。

最终要输出谁胜谁败或者平局,并且提示玩家和电脑都出了什么。

  • 在基础版之上,实现第一关功能 

每一关玩十次,第一关的要求是玩家胜3次,就算闯关成功。

  • 在实现第一关的功能上,实现第二关

第二关的要求是玩家胜5次,就算闯关成功。

  • 在实现第二关的功能上,实现第三关

第三关的要求是玩家胜7次,就算闯关成功。

  • 如果程序没用循环来实现三个关卡的功能,能不能用循环来简化程序

第10课 Debug

知识点

  • 什么叫做Debug

我们先从这个名字的由来说起,一位名叫葛丽丝·霍波 (Grace Hopper)的美国海军准将及计算机科学家, 同时也是世界最早的一批程序设计师之一。有一天,她 在调试设备时出现故障,拆开继电器后,发现有只飞蛾 被夹扁在触点中间,从而“卡”住了机器的运行。于是, 霍波诙谐的把程序故障统称为“臭虫(BUG)”,把 排除程序故障叫DEBUG,那这个词也就这么来了,是不是发现好多名词都是这么无意之间来的?

那到了今天Debug究竟是什么意思呢?其实从本质上 来说,Debug是一种程序,一种调试工具,说白了就 是供程序员检查修改问题的工具。

  • Pycharm的debug

在编辑器左侧设置断点(小圆红点)。

点击臭虫图标,以调试模式运行程序。

在断点之前的程序都会执行,然后在断点处停止运行程序。

step over: 程序会一行一行的往下执行,有利于我们排查错误。

step into: 单步执行,遇到子函数就进入并且继续单步执行。

step out:单步执行到子函数内时,用Step Out就可以执行完子函数余下部分,并返回到上一层函数。

resume program:程序恢复执行,直到下个断点停止。

  • 调试步骤

1) 设置断点: 在需要打断点的代码行左侧点击即可,点击后出现一个 红色原点, 如果要取消,再点击一下即可。

2) 点击debug按钮: 在主工具栏中,点击绿色的小甲壳虫按钮。

3) 程序开始运行,并且在断点处暂停。
4)按需求点击step over 等按钮。
5)debugger中查看变量信息。
6)console查看当前控制台输出的信息。

任务

调试如下程序:

def hello():
    return 'hello'
if __name__ == '__main__'
    print('###' * 10)
    name = input("Please input your name: ")
    print(hello() + name)
    print('###' * 10)

课后练习

调试升级版的石头剪刀布


第11课 列表

比字符串功能更强大的数据结构(列表)

知识点

  • 什么是列表

列表由一系列按特定顺序排列的元素组成,元素之间可以有关系,也可以没有任何关系。

`List`(列表) 是 `Python` 中使用最频繁的数据类型,在其他语言中通常叫做数组。

  • 列表的定义

列表用 `[ ]` 定义,元素之间使用 ` , ` 分隔,同一个列表里元素的数据类型可以不同。

  • 了解列表结构

列表的索引从 `0` 开始,索引就是数据在列表中的位置编号,又可以被称为下标。

注意:从列表中取值时,如果超出索引范围,程序会报错。

  • 程序展示 
service = ['http', 'ssh', 'ftp']
print(service[0])
print(service[-1])
list1 = [1,2,3,'hello world','3.1415926',[1,2,3]]

任务

1、尝试创建一个空列表!

2、尝试添加不同的数据类型在列表中,例如str、 int、float等数据类型。

3、已知列表能够存储多个数值,那应该如何计算列表长度呢?

4、猜猜看列表是以什么来衡量长度的呢? 

课后练习

创建一个列表,里面包含石头剪刀布三个游戏元素。 


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

and

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


第一课 逻辑运算符

知识点

任务

课后练习


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值