当前位置:首页>python>小白学python第19天之完成作业

小白学python第19天之完成作业

  • 2026-08-27 02:18:14
小白学python第19天之完成作业

12.26

完成作业

?

学前疑问

我们今天不学习新的知识点,只处理前一周多留下的作业,大家若是对作业解答有不同见解,都可以留言交流。

第14天

作业:

模拟了一个简单的倒计时器,外层循环控制剩余的分钟数,内层循环控制剩余的秒数。

import time# 设置倒计时时间:2分钟minutes = 2seconds = 0# 外层循环:控制分钟while minutes >= 0:    # 内层循环:控制秒数    while seconds >= 0:        # 格式化输出,保持两位数显示        print(f"\r剩余时间: {minutes:02d}:{seconds:02d}", end="", flush=True)        # 等待1秒        time.sleep(1)        seconds -= 1    # 当秒数减到负数时,分钟减1,秒数重置为59    minutes -= 1    seconds = 59print("\n时间到!")

代码解释:

外层循环 while minutes >= 0:负责分钟级别的倒计时。

内层循环 while seconds >= 0:负责秒数级别的倒计时,每分钟执行60次(从59秒到0秒)。

print(f"\r剩余时间: ...", end="", flush=True):使用 \r让光标回到行首,实现同一行动态更新显示,end=""避免换行,flush=True确保立即输出。

time.sleep(1):模拟每秒前进一次。

运行这段代码,你会看到终端上显示一个动态更新的倒计时,从2分00秒开始,直到0分00秒,然后输出"时间到!"。

第15天

作业:

我们用for循环已经求过0-100的和,今天作业就是使用for循环,求1~100之间所有偶数的和。

方法1:

result = 0for i in range(1, 101):    if i % 2 == 0:        result += iprint(f'1~100之间所有偶数的和为:{result}')

代码解释:

将100以内所有能被2除尽的数加起来

方法2:

result = 0for i in range(2, 101, 2):  # range(1, 101, 2)是1、3、5、7...    result += iprint(f'1~100之间所有偶数的和为:{result}')

代码解释:

直接通过range(),将1-101以内的偶数都列出来,再相加。

第16天

作业:

写一个程序,要求:

① 让用户亲自输入一个大于1的整数;

② 检查这个数是否是素数,并输出结果。

(科普:素数(也称质数)是指在大于1的自然数中,除了1和它本身之外,无法被其他自然数整除的数。

100以内的素数:2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97)

# 检查一个数是否是素数num = int(input("请输入一个大于1的整数: "))# 如果输入的数小于等于1,则不是素数if num > 1:    for i in range(2, num):        # 如果num能被i整除,则不是素数,跳出循环        if num % i == 0:            print(f"{num} 不是素数,因为它能被 {i} 整除。")            break        else:            # 否则继续检查下一个数            continue    else:        # 如果循环正常结束(即没有break),则说明是素数        print(f"{num} 是素数!")else:    print(f"{num} 不是素数。")

代码解释:

① 用户输入:我们使用input()函数获取用户输入,并将其转换为整数;

② 初步判断:如果输入的数小于等于1,则直接判断不是素数;

③ for循环:从2开始到num-1,依次检查这些数是否能整除num。如果发现一个能整除的数,就打印结果并执行break跳出循环。此时,由于循环被中断,else子句不会执行。如果没有找到能整除的数,则循环会正常结束,然后执行else子句,打印该数是素数;

④ continue的使用:当num % i != 0时(即当前i不能整除num),使用continue跳过当前迭代,继续下一个。

第17天

作业:

熟悉了小海龟基础后,运用今日所学知识,绘制太阳花。

import turtlepen = turtle.Turtle()pen.speed(0)  # 最快速度turtle.bgcolor("black")pen.color("red", "yellow")  # 笔色为red,填充色为yellowpen.begin_fill()for _ in range(50):    pen.forward(200)    pen.left(170)  # 左转170度pen.end_fill()pen.hideturtle()turtle.done()

代码解释:

① 每次画一条长200像素的线段,然后左转170度,重复50次;

② begin_fill()和end_fill()方法则会将路径形成的复杂闭合区域填充为黄色,线条为红色,最终在黑色背景上形成一个绚丽的太阳花。

今日学习完毕,课后作业:

有空的小伙伴,可以参考代码运行,还是建议不看着代码自己手打,学习效率更好。明天开始学习新的python知识点。

最新文章

随机文章