python21-循环小作业

news2025/7/14 1:22:12

课程:B站大学
记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化

循环语句小作业

  • for-in作业
    • 斐波那契 for
  • 固定数值计算
  • 素数
  • 字符统计
  • 数字序列
    • range 函数
  • 水仙花数
  • 循环嵌套
  • 冒泡排序
  • 选择排序
  • 数字组合
  • 循环跳转 for else
  • 猜数字
  • 字典实现(解析字典)
  • 非固定数值计算
  • 回文数
  • 实践是检验真理的唯一标准


for-in作业

斐波那契 for

作业要求:编写一个Python程序,使用for循环,生成并输出斐波那契数列的前n项,其中n是用户指定的正整数。斐波那契数列,又称黄金分割数列,指的是:1、1、2、3、5、8、13、21、34…从第三个数开始,每个数字都是前两个数字之和。

# 用户输入
n = int(input("请输入正整数 n:"))

# 初始化斐波那契数列
fibs = [1, 1]

# 生成数列
for i in range(2, n):
    next_num = fibs[i - 1] + fibs[i - 2]
    fibs.append(next_num)

# 输出结果
print(f"斐波那契数列的前 {n} 项为:{fibs}")

固定数值计算

作业要求:对数字列表中数字的求和,求平均值,求最值,求最小值

def case_2():
    nums = [12,34,3,6,56,33434,6,3,23,23,23,57,78,11,1,8,9]
    sum = 0
    avg = None
    max_num = nums[0]
    min_num = nums[0]

    for n in nums:
        sum += n
        if n > max_num:
            max_num = n

        if n < min_num:
            min_num = n

    print("SUM:", sum)
    avg = sum / len(nums)
    print("AVG:", avg)
    print("MAX:", max_num)
    print("MIN:", min_num)

素数

作业要求:编写一个Python程序,输入一个正整数,判断这个数是否为素数(质数)。素数是指只能被1和它本身整除的正整数。

import math

# 用户输入正整数
num = int(input("请输入一个正整数:"))

# 判断是否为素数
def is_prime(n):
    if n <= 1:
        return False  
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False  
    return True  

# 输出结果
if is_prime(num):
    print(f"{num} 是素数")
else:
    print(f"{num} 不是素数")

字符统计

作业要求
从键盘输入一个字符序列,统计,大写字母,小写字母,数字,其它字符各出现次数,将次数保存到字典中。

def func2():
    data = input("请输入数据:")
    count = {
        "DX":0,
        "XX":0,
        "SZ":0,
        "QT":0
    }

    data  = list(data)
    print(data)

    for c in data:
        if c >= '0' and c <= '9':
            count["SZ"] += 1
        elif c >= 'A' and c <= 'Z':
            count["DX"] += 1
        elif c >= 'a' and c <= 'z':
            count["XX"] += 1
        else:
            count["QT"] += 1

    print(count)

数字序列

range 函数

range() 函数是一个用于生成整数序列的内置函数,通过指定起始值、停止值和步长,它能够生成一个按照指定规则递增或递减的整数序列。
for-in 结合 range 函数实现计次循环

result = 0
for i in range(1, 101):
    result += i

print(result)

Python 中 ,可以使用 random 模块中的 randint() 函数获取随机数。

from random import randint
print(randint(1, 3))

小tips:

from random import randint

play = int(input("请输入一个1-6之间的数字:"))
bot = randint(1, 6)

if play == bot:
    print("点数相同,平局")
elif play > bot:
    print(f"玩家{play}点,电脑{bot}点,玩家胜")
else:
    print(f"玩家{play}点,电脑{bot}点,电脑胜")

水仙花数

作业要求:编写一个 Python 程序,找出100-999范围内的水仙花数。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

for n in range(100, 1000):
    # 获取百位数
    i = n // 100   

    # 获取十位数
    j = n // 10 % 10  

    # 获取个位数
    k = n % 10  

    # 判断是否为水仙花数
    if n == i**3 + j**3 + k**3:  
         # 输出水仙花数
        print(n) 

循环嵌套

循环嵌套特征

  • 循环嵌套不局限于某种循环形式,可任意相互嵌套
  • 外层循环循环一次,内层循环循环一轮
    使用 for-in 循环遍历二维列表
data = [
    [1,2,3,4,5,6,7,8,9],
    ["A","B","C","D","E"],
    ["Hello","World","Python","Hogwarts"]
]
for item in data:
    for el in item:
        print(el)

使用 while 循环遍历二维列表

data = [
    [1,2,3,4,5,6,7,8,9],
    ["A","B","C","D","E"],
    ["Hello","World","Python","Hogwarts"]
]
l1 = len(data)
i = 0
while i < l1:
    item = data[i]
    l2 = len(item)
    j = 0
    while(j < l2):
        el = item[j]
        print(el)
        j += 1
    i += 1

冒泡排序

def bubbleSort(obj, key=None, reverse=False):
    length = len(obj)
    # 外层循环用来确定找出剩余数据的最大值,N个数,找n-1次即可
    for i in range(length-1):
        for j in range(length-i-1):
            if key:  # if key != None:
                if key(obj[j]) > key(obj[j + 1]):
                    obj[j], obj[j + 1] = obj[j + 1], obj[j]
            else:
                if obj[j] > obj[j+1]:
                    obj[j], obj[j+1] = obj[j+1], obj[j]
    # return obj if not reverse else obj[::-1]
    if reverse:
        return obj[::-1]
    else:
        return obj

选择排序

def xuanze():
    data = [1,56,6,5,4,89,2]
    length = len(data)
    for i in range(length-1):
        small = data[i]
        for j in range(i+1,length):
            if data[j]<small:
                idx = j
                data[idx],data[i] = data[i],data[idx]
    return data

result = xuanze()
print(result)

数字组合

**for i in range(1, 5):
    for j in range(1, 5):
        for k in range(1, 5):
            # 条件判断排除重复数字的排列
            if (i != k) and (i != j) and (j != k):
                print(i, j, k)
**

循环跳转 for else

names = ["tom","jack","rose","tony"]

inName = input("请输入要查找的姓名:")

# 不使用 else 形式
flag = False
for name in names:
    if name == inName:
        print("找到了")
        flag = True
        break
if not flag:
    print("没找到")

# 使用 else 形式
for name in names:
    if name == inName:
        print("找到了")
        break
else:
    print("没找到")

猜数字

import random

# 生成目标数字
target_number = random.randint(1, 100)

# 初始化猜测次数
guess_count = 0

while True:
    # 接收玩家输入
    guess = int(input("请输入你的猜测数字:"))

    # 增加猜测次数
    guess_count += 1

    # 判断猜测结果
    if guess == target_number:
        print(f"恭喜你猜对了!目标数字是 {target_number},你共猜了 {guess_count} 次。")
        break
    elif guess < target_number:
        print("猜小了,请继续猜测。")
    else:
        print("猜大了,请继续猜测。")

字典实现(解析字典)

def func3():
    txt = '''#a
    Trans:art. 一;字母A
    #a.m.
    Trans:n. 上午
    #a/c
    Trans:n. 往来帐户@往来:come - and - go; contact; intercourse@n. 往来帐户
    #aardvark
    Trans:n. 土猪
    #aardwolf
    Trans:n. 土狼
    #aasvogel
    Trans:n. 秃鹰之一种
    #abaci
    Trans:n. 算盘
    #aback
    Trans:ad. 向后地;朝后地
    #abacus
    Trans:n. 算盘
    #abaft
    Trans:ad. 向船尾@prep. 在...后
    #abalone
    Trans:n. 鲍鱼
    #abandon
    Trans:vt. 放弃;沉溺@n. 放任
    #abandoned
    Trans:a. 被抛弃的;自弃的;自甘堕落的
    #abandonee
    Trans:n. 被遗弃者;被委付者
    #abandoner
    Trans:n. 遗弃者;委付者
    #abandonment
    Trans:n. 放弃;自暴自弃;放纵
    #abas
    Trans:vt. 打倒
    #abase
    Trans:vt. 降低...的地位;降低...的品格;贬抑
    #abasement
    Trans:n. 贬抑;屈辱;谦卑
    #abash
    Trans:vt. 使...羞愧;使困窘
    #abashment
    Trans:n. 羞愧;
    #abate
    Trans:vt. 缓和;减弱;减少;废除@vi. 缓和;减弱;减少
    #abatement
    Trans:n. 减少;减轻;缓和
    #abatis
    Trans:n. 鹿柴;拒木;铁丝网
    #abatment
    Trans:n. 消除,减除
    #abb
    Trans:n. 横丝;纬;羊毛
    #abbacy
    Trans:n. 大修道院院长之职位;管区;任期
    #abbatial
    Trans:a. 大修道院的;大修道院长的;女大修道院长的
    #abbe
    Trans:n. 大修道院院长;僧侣;神父
    #abbess
    Trans:n. 女修道院院长;女庵主持
    #abbey
    Trans:n. 修道院
    #abbot
    Trans:n. 修道院院长;方丈;住持
    #abbreviate
    Trans:vt. 缩写;使...简略;缩短
    #abbreviation
    Trans:n. 缩写
    #abbreviator
    Trans:n. 缩写者
    #abc
    Trans:n. 基础知识;美国广播公司;澳大利亚广播公司
    #abcoulomb
    Trans:n. 绝对库伦
    #abdicate
    Trans:vt. 放弃@vi. 逊位
    #abdication
    Trans:n. 逊位;弃权;辞职
    #abdicator
    Trans:n. 放弃者;让位者
    #abdomen
    Trans:n. 腹部
    #abdominal
    Trans:a. 腹部的;腹式呼吸;开腹手术
    #abduct
    Trans:vt. 诱拐;绑走
    #abduction
    Trans:n. 诱拐
    #abductor
    Trans:n. 诱拐者
    #abe
    Trans:n. 亚伯;Abraham 的昵称
    #abeam
    Trans:ad. 与船的龙骨成直角
    #abecedarian
    Trans:n. 初学者@a. 字母的;初步的
    #abed
    Trans:ad. 在床上
    #abelmosk
    Trans:n. 秋葵
    #aberrance
    Trans:n. 脱离正道;越轨;脱离常轨
    #aberrant
    Trans:a. 脱离正道的;脱离常轨的;变体的
    #aberration
    Trans:n. 越轨;光行差;心理失常;色差
    #abestrine
    Trans:adj. 石棉的
    #abet
    Trans:vt. 教唆;帮助'''

    data = txt.split("\n    #")
    myDict = {}
    for item in data:
        # 处理第一个单词字符串
        if item.startswith("#"):
            item = item[1:]
        # 拆分单词项
        k, w = item.split("\n    Trans:")
        myDict[k] = w

    inw = input("请输入一个单词:")
    if  inw in myDict:
        trans = myDict[inw]
        print(trans)
    else:
        print("输入的单词不存在")

非固定数值计算

def case_3():
    sum = 0
    avg = None
    num = 0
    max_num = None
    min_num = None

    while True:
        flag = False
        n = input("请输入数字:")
        print(type(n))
        if n == "bye":
            break
        else:
            if n.startswith("-"): # -123123
                n = n[1:] # 123123
                flag = True

            if n.isdigit():
                n = int(n)
                if flag == True:
                    n *= -1
                num += 1
                sum += n

                if max_num == None:
                    max_num = n
                elif max_num < n:
                    max_num = n

                if min_num == None:
                    min_num = n
                elif max_num > n:
                    min_num = n

回文数

作业要求:编写一个Python程序,输入一个5位数,判断输入的这个数字是否为回文数。回文数是指从左到右和从右到左读都一样的数。例如12321。如果输入的是回文数,输出是回文数,否则输出不是回文数。(使用循环进行实现)

a = int(input("请输入一个数字:\n"))
x = str(a)
flag = True

# 遍历字符串的一半字符
for i in range(len(x) // 2):
    if x[i] != x[-i - 1]:
        # 如果字符不相同,将标志变量设为False 并退出循环
        flag = False
        break

if flag:
    print(f"{a} 是一个回文数!")
else:
    print(f"{a} 不是一个回文数!")

在这里插入图片描述

实践是检验真理的唯一标准

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2343119.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小白电路设计-设计11-恒功率充电电路设计

介绍 作为电子信息工程的我&#xff0c;电路学习是一定要学习的&#xff0c;可惜目前作为EMC测试工程师&#xff0c;无法兼顾太多&#xff0c;索性不如直接将所学的知识进行运用&#xff0c;并且也可以作为契机&#xff0c;进行我本人的个人提升。祝大家与我一起进行提升。1.本…

Spring AI 快速入门:从环境搭建到核心组件集成

Spring AI 快速入门&#xff1a;从环境搭建到核心组件集成 一、前言&#xff1a;Java开发者的AI开发捷径 对于Java生态的开发者来说&#xff0c;将人工智能技术融入企业级应用往往面临技术栈割裂、依赖管理复杂、多模型适配困难等挑战。Spring AI的出现彻底改变了这一局面——…

http://noi.openjudge.cn/——2.5基本算法之搜索——200:Solitaire

文章目录 题目宽搜代码总结 题目 总时间限制: 5000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 Solitaire is a game played on a chessboard 8x8. The rows and columns of the chessboard are numbered from 1 to 8, from the top to the bottom and from left t…

架构师面试(三十六):广播消息

题目 在像 IM、短视频、游戏等实时在线类的业务系统中&#xff0c;一般会有【广播消息】业务&#xff0c;这类业务具有瞬时高流量的特点。 在对【广播消息】业务实现时通常需要同时写 “系统消息库” 和更新用户的 “联系人库” 的操作&#xff0c;用户的联系人表中会有未读数…

TortoiseGit使用图解

前言 记录GitTortoiseGit使用&#xff0c;记录下开发中常用命令&#xff0c;健忘时用到方知好。 TortoiseGit使用 图解 commit-提交代码 pull-拉取远程分支最新代码 push-将本地分支代码推送到远程分支 show log-查看分支提交记录 show log - 切换分支查看 show log - 远程分…

【时时三省】(C语言基础)循环程序举例

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 例题: 用公式4/π≈1-3/1+5/1-7/1+...求π的近似值,直到发现某一项的绝对值小于10的-6次方为止(该项不累加)。 解题思路: 这是求值的近似方法中的一种。求π值可以用不同的近似方法。如下面的表达式都可以…

珍爱网:从降本增效到绿色低碳,数字化新基建价值凸显

2024年12月24日&#xff0c;法大大联合企业绿色发展研究院发布《2024签约减碳与低碳办公白皮书》&#xff0c;深入剖析电子签在推动企业绿色低碳转型中的关键作用&#xff0c;为企业实现环境、社会和治理&#xff08;ESG&#xff09;目标提供新思路。近期&#xff0c;法大大将陆…

电子电子架构 --- 主机厂视角下ECU开发流程

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

PyQt6基础_QTableWidget

目录 描述&#xff1a; 代码 演示 描述&#xff1a; 1 单击选中一行 2 右键菜单 3 填充数据 4 提取行数据 5 删除行数据 代码 from PyQt6.QtCore import (Qt ) from PyQt6.QtGui import ( QAction ) from PyQt6.QtWidgets import (QApplication,QAbstractItemView,QL…

uniapp 上传二进制流图片

文章目录 场景&#x1f7e2;一、步骤1.1、选择图片1.2、 读取图片为二进制数据1.3、上传二进制数据到服务器 &#x1f7e2;二、项目案例2.1、替换头像案例2.1、uView u-upload 上传封面 &#x1f7e2; 三、关键注意事项3.1 二进制流与 FormData 区别3.2 性能优化3.3 跨平台适配…

赛灵思 XCKU115-2FLVB2104I Xilinx Kintex UltraScale FPGA

XCKU115-2FLVB2104I 是 AMD Xilinx Kintex UltraScale FPGA&#xff0c;基于 20 nm 先进工艺&#xff0c;提供高达 1 451 100 个逻辑单元&#xff08;Logic Cells&#xff09;&#xff0c;77 721 600 bit 的片上 RAM 资源&#xff0c;以及 5 520 个 DSP 切片&#xff08;DSP48E…

Unreal Niagara制作SubUV贴图翻页动画

SubUV翻页动画是游戏中的常见功能&#xff0c;通过对每一小块UV进行移动可以模拟动画效果&#xff0c;接下来对下图进行SubUV动画的制作。 (金币测试图下载地址&#xff1a;https://download.csdn.net/download/grayrail/90684422&#xff09; 最终效果如下&#xff1a; 1.…

「零配置陷阱」:现代全栈工具链的复杂度管控实践

一、工具链膨胀的「死亡螺旋」 2024年典型全栈项目的初始化噩梦&#xff1a; $ npm create vitelatest ✔ Project name: … demo ✔ Select a framework: › React ✔ Select a variant: › TypeScript SWC ✔ Install shadcn/ui? … Yes ✔ Add Storybook? … Yes ✔ Co…

金仓数据库KingbaseES技术实践类深度剖析与实战指南

一、语法兼容及迁移实战 &#xff08;一&#xff09;语法兼容的多元魅力 在当今多元化的数据库应用环境中&#xff0c;金仓数据库管理系统KingbaseES凭借其卓越的语法兼容能力脱颖而出。它采用的融合数据库架构&#xff0c;通过多语法体系一体化架构&#xff0c;实现了对Orac…

基于ssm的个人博客管理系统(源码+数据库+万字文档)

57基于ssm的个人博客管理系统&#xff1a;前端jsp、jquery、easyui&#xff0c;后端 spring、mybatis、maven&#xff0c;集成个人博客浏览、详情查看、博客发布、富文本编辑、评论等功能于一体的系统。 ## 功能介绍 ### 用户 - 首页&#xff1a;博客列表、博客详情、关键词…

综述 | GUI Agent:让AI学会「玩手机」的新革命

想象一下&#xff0c;你的手机里住着一个隐形助理&#xff1a;你说“把亮度调到50%”&#xff0c;它自动操作&#xff1b;你说“下载最新游戏”&#xff0c;它一键完成。这就是GUI智能体——一种能“看懂”屏幕并操作的AI。 论文&#xff1a;A Survey on (M)LLM-Based GUI Agen…

Canvas入门教程!!【Canvas篇二】

没有一朵花&#xff0c;从一开始就是花。 目录 translate() 方法&#xff1a;rotate() 方法&#xff1a;scale() 方法&#xff1a; translate() 方法&#xff1a; Canvas 2D API 的 CanvasRenderingContext2D.translate() 方法用于对当前网格添加平移变换。 translate() 方法通…

【中级软件设计师】函数调用 —— 传值调用和传地址调用 (附软考真题)

【中级软件设计师】函数调用 —— 传值调用和传地址调用 (附软考真题) 目录 【中级软件设计师】函数调用 —— 传值调用和传地址调用 (附软考真题)一、历年真题二、考点&#xff1a;函数调用 —— 传值调用和传地址调用&#x1f53a;1、传值调用&#x1f53a;2、传引用(地址)调…

第七届能源系统与电气电力国际学术会议(ICESEP 2025)

重要信息 时间&#xff1a;2025年6月20-22日 地点&#xff1a;中国-武汉 官网&#xff1a;www.icesep.net 主题 能源系统 节能技术、能源存储技术、可再生能源、热能与动力工程 、能源工程、可再生能源技术和系统、风力发…

大数据分析04 数据查询分析

构建数据源 引入pandas包 数据map中ID为列&#xff0c;值为行&#xff0c;每一列中值个数要一致 import pandas as pd data {ID: [000001, 000002, 000003, 000004, 000005, 000006, 000007],name:[黎明, 赵怡春, 张富平, 白丽, 牛玉德, 姚华, 李南], gender:[True, False, …