python21-循环小作业

课程: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 = 0avg = Nonemax_num = nums[0]min_num = nums[0]for n in nums:sum += nif n > max_num:max_num = nif n < min_num:min_num = nprint("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"] += 1elif c >= 'A' and c <= 'Z':count["DX"] += 1elif c >= 'a' and c <= 'z':count["XX"] += 1else:count["QT"] += 1print(count)

数字序列

range 函数

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

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

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

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

小tips:

from random import randintplay = 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 = 0while(j < l2):el = item[j]print(el)j += 1i += 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 = jdata[idx],data[i] = data[i],data[idx]return dataresult = 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 = Truebreak
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 = 0while True:# 接收玩家输入guess = int(input("请输入你的猜测数字:"))# 增加猜测次数guess_count += 1# 判断猜测结果if guess == target_number:print(f"恭喜你猜对了!目标数字是 {target_number},你共猜了 {guess_count} 次。")breakelif guess < target_number:print("猜小了,请继续猜测。")else:print("猜大了,请继续猜测。")

字典实现(解析字典)

def func3():txt = '''#aTrans:art. 一;字母A#a.m.Trans:n. 上午#a/cTrans:n. 往来帐户@往来:come - and - go; contact; intercourse@n. 往来帐户#aardvarkTrans:n. 土猪#aardwolfTrans:n. 土狼#aasvogelTrans:n. 秃鹰之一种#abaciTrans:n. 算盘#abackTrans:ad. 向后地;朝后地#abacusTrans:n. 算盘#abaftTrans:ad. 向船尾@prep. 在...后#abaloneTrans:n. 鲍鱼#abandonTrans:vt. 放弃;沉溺@n. 放任#abandonedTrans:a. 被抛弃的;自弃的;自甘堕落的#abandoneeTrans:n. 被遗弃者;被委付者#abandonerTrans:n. 遗弃者;委付者#abandonmentTrans:n. 放弃;自暴自弃;放纵#abasTrans:vt. 打倒#abaseTrans:vt. 降低...的地位;降低...的品格;贬抑#abasementTrans:n. 贬抑;屈辱;谦卑#abashTrans:vt. 使...羞愧;使困窘#abashmentTrans:n. 羞愧;#abateTrans:vt. 缓和;减弱;减少;废除@vi. 缓和;减弱;减少#abatementTrans:n. 减少;减轻;缓和#abatisTrans:n. 鹿柴;拒木;铁丝网#abatmentTrans:n. 消除,减除#abbTrans:n. 横丝;纬;羊毛#abbacyTrans:n. 大修道院院长之职位;管区;任期#abbatialTrans:a. 大修道院的;大修道院长的;女大修道院长的#abbeTrans:n. 大修道院院长;僧侣;神父#abbessTrans:n. 女修道院院长;女庵主持#abbeyTrans:n. 修道院#abbotTrans:n. 修道院院长;方丈;住持#abbreviateTrans:vt. 缩写;使...简略;缩短#abbreviationTrans:n. 缩写#abbreviatorTrans:n. 缩写者#abcTrans:n. 基础知识;美国广播公司;澳大利亚广播公司#abcoulombTrans:n. 绝对库伦#abdicateTrans:vt. 放弃@vi. 逊位#abdicationTrans:n. 逊位;弃权;辞职#abdicatorTrans:n. 放弃者;让位者#abdomenTrans:n. 腹部#abdominalTrans:a. 腹部的;腹式呼吸;开腹手术#abductTrans:vt. 诱拐;绑走#abductionTrans:n. 诱拐#abductorTrans:n. 诱拐者#abeTrans:n. 亚伯;Abraham 的昵称#abeamTrans:ad. 与船的龙骨成直角#abecedarianTrans:n. 初学者@a. 字母的;初步的#abedTrans:ad. 在床上#abelmoskTrans:n. 秋葵#aberranceTrans:n. 脱离正道;越轨;脱离常轨#aberrantTrans:a. 脱离正道的;脱离常轨的;变体的#aberrationTrans:n. 越轨;光行差;心理失常;色差#abestrineTrans:adj. 石棉的#abetTrans:vt. 教唆;帮助'''data = txt.split("\n    #")myDict = {}for item in data:# 处理第一个单词字符串if item.startswith("#"):item = item[1:]# 拆分单词项k, w = item.split("\n    Trans:")myDict[k] = winw = input("请输入一个单词:")if  inw in myDict:trans = myDict[inw]print(trans)else:print("输入的单词不存在")

非固定数值计算

def case_3():sum = 0avg = Nonenum = 0max_num = Nonemin_num = Nonewhile True:flag = Falsen = input("请输入数字:")print(type(n))if n == "bye":breakelse:if n.startswith("-"): # -123123n = n[1:] # 123123flag = Trueif n.isdigit():n = int(n)if flag == True:n *= -1num += 1sum += nif max_num == None:max_num = nelif max_num < n:max_num = nif min_num == None:min_num = nelif 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 = Falsebreakif flag:print(f"{a} 是一个回文数!")
else:print(f"{a} 不是一个回文数!")

在这里插入图片描述

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

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

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

相关文章

深度学习小记(包括pytorch 还有一些神经网络架构)

这个是用来增加深度学习的知识面或者就是记录一些常用的命令,会不断的更新 import torchvision.transforms as transforms toPIL transforms.ToPILImage()#可以把tensor转换为Image类型的 imgtoPIL(img) #利用save就可以保存下来 img.save("/opt/data/private/stable_si…

Neo4j 可观测性最佳实践

Neo4j 介绍 Neo4j 是一款领先的图数据库管理系统&#xff0c;采用图数据模型来表示和存储数据。它以节点、关系和属性的形式组织数据&#xff0c;节点代表实体&#xff0c;关系表示节点间的连接&#xff0c;属性则为节点和关系附加信息。Neo4j 使用 Cypher 查询语言&#xff0…

算法训练营第三十天 | 动态规划 (三)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、01背包问题理论基础&#xff08;一&#xff09;动态规划五部曲确定dp数组以及下标的含义确定递推公式初始化dp数组确定遍历顺序 二、01背包问题理论基础&#…

玩机搞机基本常识-------小米OLED屏幕机型怎么设置为永不休眠_手机不息屏_保持亮屏功能 拒绝“烧屏” ?

前面在帮一位粉丝解决小米OLED机型在设置----锁屏下没有永不休眠的问题。在这里&#xff0c;大家要明白为什么有些小米机型有这个设置有的没有的原因。区分OLED 屏幕和 LCD屏幕的不同。从根本上拒绝烧屏问题。 OLED 屏幕的一些优缺点&#x1f49d;&#x1f49d;&#x1f49d; …

PostgreSQL使用LIKE右模糊没有走索引分析验证

建表&数据初始化可参考PostgreSQL 分区表——范围分区SQL实践 背景&#xff1a; 给t_common_work_order_log的handle_user_name新建索引后&#xff0c;使用LIKE右模糊匹配查询时&#xff0c;发现走的全表扫描 CREATE INDEX order_log_handle_user_name_index ON t_commo…

【vue】【element-plus】 el-date-picker使用cell-class-name进行标记,type=year不生效解决方法

typedete&#xff0c;自定义cell-class-name打标记效果如下&#xff1a; 相关代码&#xff1a; <el-date-pickerv-model"date":clearable"false":editable"false":cell-class-name"cellClassName"type"date"format&quo…

《Learning Langchain》阅读笔记8-RAG(4)在vector store中存储embbdings

什么是 vector store&#xff1f; 与专门用于存储结构化数据&#xff08;如 JSON 文档或符合关系型数据库模式的数据&#xff09;的传统数据库不同&#xff0c;vector stores处理的是非结构化数据&#xff0c;包括文本和图像。像传统数据库一样&#xff0c;vector stores也能执…

用api的方式调用本地下载好的大模型(以llama为例,不是ollama!!!)

目录 1、创建虚拟环境2、激活虚拟环境3、安装相关库4、编写脚本&#xff08;test.py&#xff09;调用脚本5、bash中测试通信完美结果 1、创建虚拟环境 conda create -n myenv python3.12 -y2、激活虚拟环境 conda activate myenv3、安装相关库 pip install vllm fastapi uvi…

算力网络(CFN)在跨校联合科研中的应用:安全性挑战与联邦调度实践

引言&#xff1a;科研协作的算力困境 上海交通大学与麻省理工学院联合开展的高能物理模拟实验&#xff0c;因算力资源分配不均导致部分节点连续72小时处于空转状态。这个典型案例揭示了当前跨机构科研协作的痛点&#xff1a;‌算力资源无法实现安全可信的细粒度共享‌。算力网…

高防IP+CDN组合:电商大促的“双保险”防护方案

引言 电商大促期间&#xff0c;平台流量呈爆发式增长&#xff0c;既要应对瞬时激增的访问量&#xff0c;又要防范黑客趁机发起的DDoS攻击、恶意爬虫等威胁。单一防护手段往往难以兼顾性能与安全&#xff0c;而高防IPCDN组合通过“流量清洗加速分发”的双重机制&#xff0c;为电…

# 构建词汇表:自然语言处理中的关键步骤

构建词汇表&#xff1a;自然语言处理中的关键步骤 在自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;词汇表&#xff08;Vocabulary&#xff09;是文本数据预处理的核心组件之一。它将文本中的单词或字符映射为数值索引&#xff0c;从而让计算机能够理解和处理语言…

SQL进阶知识:七、数据库设计

今天介绍下关于数据库设计的详细介绍&#xff0c;并结合MySQL数据库提供实际例子。 数据库设计是确保数据库能够高效、安全地存储和管理数据的关键环节。良好的数据库设计可以提高查询性能、减少数据冗余、确保数据完整性&#xff0c;并简化数据维护。以下是关于数据库设计的详…

python如何取消word中的缩进

在python-docx中&#xff0c;取消缩进可以通过将相应的缩进属性设置为None或0来实现。以下是取消不同类型缩进的方法&#xff1a; 取消左缩进 from docx import Documentdoc Document(existing_document.docx)for paragraph in doc.paragraphs:# 取消左缩进paragraph.paragr…

Docker拉取镜像代理配置实践与经验分享

Docker拉取镜像代理配置实践与经验分享 一、背景概述 在企业内网环境中&#xff0c;我们部署了多台用于测试与学习的服务器。近期&#xff0c;接到领导安排&#xff0c;需在其中一台服务器上通过Docker安装n8n应用程序。然而在实际操作过程中&#xff0c;遭遇Docker官方镜像库…

【数字图像处理】立体视觉基础(1)

成像 成像过程&#xff1a;三维空间坐标到二维图像坐标的变换 相机矩阵&#xff1a;建立三维到二维的投影关系 相机的使用步骤&#xff08;模型-视图变换&#xff09;&#xff1a; &#xff08;1&#xff09;视图变换 &#xff08;2&#xff09;模型变换 &#xff08;3&…

实验4:列表与字典应用

目的 &#xff1a;熟练操作组合数据类型。 试验任务&#xff1a; 1. 基础&#xff1a;生日悖论分析。如果一个房间有23人或以上&#xff0c;那么至少有两个人的生日相同的概率大于50%。编写程序&#xff0c;输出在不同随机样本数量下&#xff0c;23 个人中至少两个人生日相同的…

c++之网络编程

网络编程&#xff1a;使得计算机程序能够在网络中发送和接受数据&#xff0c;从而实现分布式系统和网络服务的功能。 作用&#xff1a;使应用程序能够通过网络协议与其他计算机程序进行数据交换 基本概念 套接字&#xff08;socket&#xff09;&#xff1a; 套接字是网络通信…

【Harmony_Bug】forEach + asyncawait 的异步陷阱

一、问题描述 今天在做一个RDB的小项目时&#xff0c;遇到一个问题&#xff0c;因为没报错其实也是不算是BUG&#xff0c;以下描述时我就直接说关键点&#xff0c;其他代码忽略。 我的数据模型初始化有六条数据如图 在持久化层&#xff0c;通过initUserData这个方法执行插入。…

大肠杆菌诱导蛋白时OD600=0.6-0.8添加IPTG的思考-实验操作系列-009

一、为什么用OD600表示菌液浓度&#xff1f; 1. 光密度与吸光值的关系 OD600是指在600纳米波长下的光密度&#xff08;Optical Density&#xff09;&#xff0c;也就是通过细菌悬浮液的光的吸收程度。根据比尔-朗伯定律&#xff0c;光密度与溶液中光学活性物质&#xff08;如…

OpenHarmony - 小型系统内核(LiteOS-A)(十),魔法键使用方法,用户态异常信息说明

OpenHarmony - 小型系统内核&#xff08;LiteOS-A&#xff09;&#xff08;十&#xff09; 十四、魔法键使用方法 使用场景 在系统运行出现无响应等情况时&#xff0c;可以通过魔法键功能确定系统是否被锁中断&#xff08;魔法键也无响应&#xff09;或者查看系统任务运行状态…