Contest5315 - AK郦老师 Python入门组 第12课 课堂练习

上课内容为查漏补缺:http://bhtn.vip/contest.php?cid=5261

逻辑运算+for循环专题



GESP Python 一级 知识内容

  • 计算机基础与编程环境
  • 计算机历史
  • 变量的定义与使用
  • 基本数据类型(整型、浮点型、字符型、布尔型)
  • 控制语句结构(顺序、循环、选择)
  • 基本运算(算术运算、关系运算、逻辑运算)
  • 输入输出语句
  • Turtle绘图

海龟绘图 turtle(只会出现在选择题和判断题)

  1. 模块导入:
    • 方式一:import turtle
    • 方式二:import turtle as t (t 可以改成其他名称(别名))
    • 方式三:from turtle import *
  2. 画笔控制:
    • 前进:forward(距离)
    • 转弯:left(角度) right(角度)
    • 移动至任意位置(坐标x, y的位置):goto(x, y)
    • 抬笔/落笔:penup() pendown()
    • 画笔粗细:pensize(大小) # 画笔大小默认是1
    • 移动速度:speed(值) #值得范围0~10,1~10依次变快,0最快
    • 隐藏画笔:hideturtle()
    • 设置颜色: color(画笔颜色, 填充颜色) 和 pencolor(颜色)
    • 填充颜色:fillcolor(颜色) begin_fill() end_fill()
  3. 画图形
    • 点:dot(直径大小,颜色) # 画实心圆点
    • 圆形:circle(半径,圆心角,内切正多边形)
      • circle(100) # 半径为100的空心圆
      • circle(100, 180) # 半圆弧(圆心角180度)
      • circle(100, 360, 6) # 圆内切的正6边形
  4. 历年真题涉及到的其他知识点:
    • 回到原点:home()
    • 清除绘图:clear()
    • 重置画布:reset()

基础知识巩固与提高:

1. 输出 print()

输出一个内容

print('内容')

输出两个内容

print('内容1', '内容2')
等价于
print('内容1', '内容2', sep=' ') # 用空格间隔两个内容

输出后换行

print('内容')
等价于
print('内容', end='\n') # 用换行符结束

输出后加空格

print('内容', end=' ') # 两个引号中间有一个空格

输出小数保留2位小数

print("%.2f" % n)

或者

print("{:.2f}".format(n))

或者

print(f"{n:.2f}") # 注意:编绘童年网站目前不支持f-风格的输出语句

2. 输入 input()

输入一个整数

a=input() # 默认是输入字符串类型的内容

a=int(a) # 把小括号里面的内容转成整数

连在一起写

a=int(input())

输入两个整数(换行分开:两行,每行一个数字)

a = int(input())
b = int(input())

输入两个整数(空格分开:一行,两个数字之间有空格)

a, b=input.split()
a=int(a)
b=int(b)
连在一起写
a, b=map(int, input().split())



输入很多整数(空格分开:一行,两个数字之间有空格)

a=[int(i) for i in input().split()]



3. 基本运算

3.1.算术运算:+、-、*、/、//、%、**

3.2.比较运算:==、!=、>、<、>=、<=

3.3.逻辑运算:and、or、not

3.4.复合赋值运算:+=、-=、*=、/=、//=、%=、**=


4. 数据类型

整数(int)  变量赋值 i=2015

小数(float) 变量赋值 f=10.1

字符串(str) 变量赋值 s='2015年10月1日'

布尔类型(bool) 变量赋值 b=True 或者 b=False


列表(list) a = [1, 2, 3]

元组(tuple) a = (1, 2, 3)

集合(set) a = {1, 3, 2}

字典(dict) a = {1:'ckx', 2:'ytw', 3:'tyc'}



5. 三大基本结构(顺序、分支、循环)

5.1 if 分支

单分支

if 满足条件:

执行语句



双分支

if 满足条件:
执行语句1
else:
执行语句2

多分支

if 满足条件1:
执行语句1
elif 满足条件2:
执行语句2
elif 满足条件3:
执行语句3
else:
执行语句4

5.2.1 for 循环

for i in 序列:
循环体

作用:

a. 输出数据(序列中的变量值i)

b. 控制循环次数(这种情况下不用再输出 变量i)

5.2.2 range()

for 循环里最常用的序列,range()函数可以生成一组数

语法:range([开始的起点,   ] 结束的终点的后一位, 步长)

步长(每次变化的大小)默认是1

range(n) 等价于 range(0, n, 1) 表示的数值范围 0 ~ n-1

步长为负数时,表示从后往前的顺序

例子,输出0 1 2 ...... n-1

for i in range(n):
print(i, end=' ')

例子,输出1 2 ...... n
for i in range(1, n+1):

print(i, end=' ')



5.2.3 while 循环

while 满足条件:
循环体

死循环(无限循环):循环的条件永远满足

while True:
循环体
或者
while 1:
循环体

5.2.4 流程控制

break 直接结束当前循环,跳出

continue 进入下一轮循环,不再运行continue后面的代码语句

return 直接结束程序


5.2.5 循环应用

累加求和、累乘求积、计数问题、极值问题(打擂台)

规律循环、嵌套循环、图形绘制



Start Time: 2025-12-07 13:00:00 End Time: 2025-12-07 22:00:00
Current Time: 2025-12-07 18:15:16
Status:Running   Public
[Status] [Standing] [Statistics]
Problem IDTitle Source/Category AC Submit
2900 Problem  A 复合结构-练习:输出十位是4的数练习 入门 0 0
2334 Problem  B 复合结构-输出各位之和小于7的数练习 入门 0 0
2368 Problem  C 复合结构-练习:输出偶数中7的倍数 入门 0 0
2353 Problem  D 复合结构-练习:奇数或3的倍数练习 入门 0 0
2453 Problem  E for循环-练习:奇数中3的倍数练习 入门 0 0
2516 Problem  F 计数器-奇数中3的倍数的个数练习 入门 0 0
2454 Problem  G 累加器-奇数中3的倍数的和 入门 0 0