python实验2:程序流程控制

15个经典基础Python练手案例,基本功就是这样练成的 今天给大家安排十五个经典的练手案例,希望大家继续喜欢,当然要是放在收藏夹起灰也是可以的~ 阅读详情

一、实验任务

  1. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位的十进制数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为。
  2. 给定一个字符串str,要求:
    (1)请将字符串的数字取出,并输出成一个新的字符串。
    (2)请统计字符串出现的每个字母的出现次数(忽略大小写,a 与 A 是同一个字母),并输出成一个字典。
    (3)请去除字符串多次出现的字母,仅留最先出现的一个,大小写不敏感。例如:
    ‘aAsmr3idd4bgs7Dlsf9eAF’,经过去除后,输出 ‘asmr3id4bg7lf9e’
    (4)按字符串中字符出现频率从高到低输出到列表,如果次数相同则按字母顺序排列。
  3. 编写小学生100以内加减法训练程序,并在学生结束测验后能报告正确答案的个数、正确率、测验所用的时间,并能让用户自己决定随时结束测验。

二、实验设计及结果
实验1.

(1)问题分析
“水仙花数”是指一个三位的十进制数,其各位数字立方和等于该数本身。
水仙花数的取值范围为100-999。
(2)算法设计
使用while循环来获取水仙花数,循环终止条件是i<999
个位数:i%10
十位数:i//10%10
百位数:i//100

(3)程序代码

"""
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位的十进制数,其各位数字立方和等于该数本身。
例如:153是一个“水仙花数”,因为153=1**3+5**3+3**3
"""
#水仙花数的范围是100-999
i = 100
print("所有的水仙花数为:")
#while 循环
while i < 999:
    a = i // 100 #百位数
    b = i // 10 % 10 #十位数
    c = i % 10 #个位数
    #判断是否为水仙花数
    if a ** 3 + b ** 3 + c ** 3 == i:
        print(i,end=" ") #末尾不换行,以空格结尾
    i += 1 #i=i+1

(4)运行结果
在这里插入图片描述

实验2:
1.问题分析
(1)请将字符串的数字取出,并输出成一个新的字符串。
(2)请统计字符串出现的每个字母的出现次数(忽略大小写,a 与 A 是同一个字母),并输出成一个字典。
(3)请去除字符串多次出现的字母,仅留最先出现的一个,大小写不敏感。
(4)按字符串中字符出现频率从高到低输出到列表,如果次数相同则按字母顺序排列。
2.算法设计
(1)使用isnumeric()方法判断该字符是否为数字
(2)使用isalpha()函数判断字符串是否为字母
(3)使用isalpha()函数判断字符串是否为字母,使用for循环判断item是否在空字符串内
(4)使用sorted()函数进行排序,sorted(iterable,cmp=None,key=None,resverse=False)
3.程序代码

#(1)请将字符串的数字取出,并输出成一个新的字符串。
#定义字符串
str="aAsmr3idd4bgs7Dlsf9eAF"
#定义数字
num=" "
#使用for循环依次取出字符串的数字
for item in str :
    #使用isnumeric()方法判断该字符是否为数字
    if item.isnumeric():
        num += item
print(f"将字符串str中的数字取出,输出为一个新字符串num为:\n{num}")

#(2)请统计字符串出现的每个字母的出现次数(忽略大小写,a 与 A 是同一个字母),并输出成一个字典。
#定义字符串
str="aAsmr3idd4bgs7Dlsf9eAF"
#将字符串中的大写字母转换为小写字母
str=str.lower()
#定义一个空字典
dict={ }
#统计每个字母出现的次数
for item in str:
    #使用isalpha()函数判断字符串是否为字母
    if item.isalpha():
        if item in dict:
            dict[item] += 1
        else:
            dict[item] = 1
print(f"忽略大小写,每个字母出现的次数组成的字典为:\n{dict}")

#(3)请去除字符串多次出现的字母,仅留最先出现的一个,大小写不敏感。
#定义字符串
str="aAsmr3idd4bgs7Dlsf9eAF"
#大小写字母不敏感
str=str.lower()
#定义一个空字符串
str1=" "
for item in str:
    # 使用isalpha()函数判断字符串是否为字母
    if item.isalpha():
        #判断item是否在空字符串str1内
        if item not in str1:
            str1 += item
    #数字
    else:
        str1 += item
print(f"去除字符串多次出现的字母,仅留最先出现的一个后,组成的新字符串str1为:\n{str1}")

#(4)按字符串中字符出现频率从高到低输出到列表,如果次数相同则按字母顺序排列。
#定义字符串
str="aAsmr3idd4bgs7Dlsf9eAF"
#将字符串中的大写字母转换为小写字母
str=str.lower()
#定义一个空字典
dict={ }
for item in str :
    # 使用isalpha()函数判断字符串是否为字母
    if item.isalpha():
        #字符出现的频率
        if item in dict:
            dict[item] += 1
        else:
            dict[item] = 1
#按照值从大到小排序,如果值相同则按照键从小到大排序
sorted_dict = sorted(dict.items(), key=lambda x: (-x[1], x[0]))
# 将排序后的键按照出现次数输出到列表中
list=[x[0] for x in sorted_dict]
print(f"按字符串中字符出现频率从高到低输出到列表,如果次数相同则按字母顺序排列后的结果为:\n{list}")

(4)运行结果
在这里插入图片描述

实验3:
(1)问题分析
编写小学生100以内加减法训练程序,并在学生结束测验后能报告正确答案的个数、正确率、测验所用的时间,并能让用户自己决定随时结束测验
(2)算法设计
1.使用time模块计算出测验所用的时间
2.定义一个包含加减法运算符的列表option,用于随机选择运算符。
3.使用random模块生成两个0到99之间的随机整数a和b,以及一个随机的运算符o。
4.根据运算符o计算出正确答案result。
5.用户输入答案answer,并将其转换为字符串类型。
6.如果用户输入的答案等于正确答案result,则输出“回答正确”,并将正确答案的个数correctCount加1,总答案数count加1。
7.如果用户输入的答案不等于正确答案,则输出“回答错误”,总答案数count加1。
8.使用whileTrue循环,循环终止条件为exit,如果用户输入exit,则程序结束,输出正确答案的个数、正确率、测验所用的时间。
(3)程序代码

import  random
import time

correctCount = 0 #回答正确数
count = 0 #回答问题总数
startTime = time.time() #开始时间
option = ['+','-'] #选择加减法
while True:
    a = random.randint(0,99) #随机数1
    b = random.randint(0,99) #随机数2
    o = random.choice(option) #随机选择加减法
    print("%d %s %d"%(a,o,b)) #测验题
    answer = input(f"{a} {o} {b} = ") #输入答案
    if o=="+":
        result = a + b
    elif  o == "-":
        result = a - b
    #判断答案是否正确
    if answer == str(result):
        print("回答正确")
        correctCount += 1
    else:
        print("回答错误")
    count += 1 
    endTime = time.time()  # 记录结束时间
    testTime = int(endTime - startTime)  #测试时间
    exit = input("请输入'exit'退出测试\n")
    if exit == 'exit':
        print("一共%d道测试题\n回答正确的个数为:%d\n正确率为:%0.2f%%\n测试用时:%d秒"%(count,correctCount,(correctCount/count)*100,testTime))
        break #结束循环

(4)运行结果
在这里插入图片描述

python设计实验报告 有三扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么,参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后面的山羊,然后允许参赛者更改选择。掌握Python语言的基本结构并绘制流程图,掌握分支结构,利用if语句实现单分子,双分支和多分支,掌握循环结构,运用for语句和while语句实现循环结构和循环嵌套,掌握随机库的使用方法,掌握程序的异常处理。4、字典文件中每一行作为一个单词,首先进行查询操作,读取文件,若在文件中能够找到输入的单词,则进行输出。 阅读详情

相关推荐

Python程序流程控制

程序流程控制实验一 程序流程控制 实验一 程序流程控制 一、利用程序流程控制语句打印运行效果如图所示的九九乘法表,要求:关键语句要有注释 实现代码 #九九乘法表 for i in range(1,10): j=1 while j<=i: print("{0}*{1}={2:<4}".format(i,j,i*j),end='') ...

weixin_42472371的博客 1577

python基础练习题

python基础练习题字符串1234567函数12结尾 题目来源:在校课程老师布置的作业 字符串 已知 字符串a = 'ahGhd35AGdf' 1 题目 将a字符串的大写改为小写,小写改为大写。 解答 使用函数 swapcase() 2 题目 将a字符串的数字取出,并输出成一个新的字符串。 解答 使用 re 匹配 3 题目 请统计a字符串中出现的每个字母的出现次数(请忽略大小写,a与A是同一个字母) 解答 使用 字典 和 生成器 ,count() 函数

lhys666的博客 1739

金山学院信息与机电工程系实验报告实验2 程序流程控制

离散数学 第二版 第2版_屈婉玲学习指导与课后习题答案解析

weixin_46028594的博客 1406

python 实验

Section1:问题分析:随机生成20个随机数,首尾相接,字符串输出初始版IPO:输入:随机产生数字 过程:用两个字符串来进行连接 输出缺点:用两个字符串显得有点累赘,只需要使用一个就行改进版IPO:输入:随机产生数字 过程:将数字转化为字符串,只使用一个字符串进行自己累加,最后输出最终版IPO:输入:用户输入种子数,输入要随机的个数,随机产生数字 过程:直接将每次的数字打印出来,使用方法使打印能依次打印出来 输出Section2:问题分析:1到N的奇数的平方和(若N为奇数,则不包括N)

2301_78320564的博客 2967

Python程序流程控制结构

1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。

Python全栈系列 1万+

python毕设 基于Web的中药材信息查询系统程序+论文

***(程序+源码+数据库+调试部署+开发环境)论文文档1,文末可获取,系统界面在最后面。****

m0_74825541的博客 1257

Python实验二 程序流程控制

sdutpython实验二

m0_64781922的博客 1890

科研指南:IEEE期刊LaTeX/Word模板下载与使用全解析

本文详细解析了IEEE期刊LaTeX/Word模板的下载与使用技巧,帮助科研人员高效完成论文排版。从官方模板获取入口到LaTeX文档结构配置,再到Word样式管理与常见问题解决方案,全面覆盖投稿准备的关键步骤。特别针对数学公式、参考文献和图片处理等难点提供实用建议,助力学术写作规范化。

weixin_28396629的博客 566

python第三章 程序流程控制 课后习题

1 .三名面试者的基本数据如下: 序号 年龄 工作经验/年 所学专业 1 24 0 计算机 2 32 4 电子 3 36 8 电子 4 26 2 通信 分别输入每一位面试者的基本数据,输出是否符合面试要求,面试要求为: 计算机专业,年龄小于25岁 电子专业,有4年以上工作经验 通信专业都可以 满足面试要求的,输出“获得面试机会”,不满足要求的,输出“抱歉,您不符合面试要求” age=int(input("年龄:")) year=int(input("工作经历(年):"))

m0_51346837专栏 4万+

SPSS因子分析实战:从数据清洗到结果解读的完整流程

本文提供了一份详尽的SPSS因子分析实战指南,涵盖从数据清洗、适用性检验(KMO与巴特利特检验)、公因子提取、因子旋转到结果解读与报告撰写的完整流程。通过具体案例,手把手教你如何利用SPSS进行探索性因子分析,实现数据降维并提炼核心公共因子,适用于市场研究、心理学等多变量数据分析场景。

weixin_29055699的博客 329

Claude Code Auto Memory 的 Storage Location,SAP ABAP 项目里的本地记忆仓库应该怎么理解

本文介绍了 SAP ABAP 项目中 Claude Code 的 auto memory 机制,重点探讨了其存储位置的设计原理。auto memory 不是存储在项目目录中,而是默认位于 ~/.claude/projects/<project>/memory/,其中 <project> 基于 Git 仓库路径推导,确保同一仓库下的所有工作目录和分支共享记忆。记忆目录包含入口文件 MEMORY.md(仅加载前 200 行)和详细主题文件,这种分层设计类似 CDS View 架构思想。文章还分析了按 Git 仓

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 100

实验二 Python程序流程控制

(2)可以利用“ print(str.format(“此方程有两个不等实根:{0}+{1}和 {0}-{1}”,realPart,imag Part,)”的语句形式输出方程的两个共轭复根。(2)已知三角形的 3 条边,则三角形的面积=根下h*(h-a)*(h-b)*(h-c),其 中 h 为三角形周长的一半。(1)可以利用“ random.randint(0,100)”的语句形式生成 0-100(包含0 和 100)的随机整数。(2) 一般情况下,累乘的初值为 1,累加的初值为 0。

qq_55793988的博客 8497

深度学习实战107-基于Qwen3+GraphRAG+Agent的智能文档管理系统:精准问答与决策支持

在当今信息爆炸的时代,企业面临海量文档的管理与利用挑战。传统文档管理系统虽然提供了存储和检索功能,但缺乏对文档内容的深度理解与分析能力,更难以实现基于知识的决策支持。基于多模态大模型Qwen3、GraphRAG技术与Agent框架构建的智能文档管理系统,能够突破传统限制,实现文档内容的精准解析、知识图谱的自动构建、复杂关系的推理分析以及决策建议的生成,为企业知识管理带来革命性变革。

微学AI的博客 865

实验三:程序流程控制

(1)通过本次实验,学生应掌握多分支语句 if …elif…else结构的用法;(2)掌握循环语句for、while结构的用法以及跳转语句continue、break的应用;(3)能应用print()函数和字符串的format方法控制输出内容的格式;(4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果)

weixin_62529596的博客 896

粒子群优化与蚁群算法求解多旅行商问题

它要求在给定一组城市和旅行商之间的距离矩阵的情况下,找到一条最优的路径方案,使得所有旅行商可以分别从起始城市出发,途径其他城市,并最终回到起始城市,同时总旅行距离达到最小。这两种算法都是基于群体智能的优化算法,在求解组合优化问题时具有较好的性能表现。假设有n个城市需要被m个旅行商访问,城市间的距离由距离矩阵D表示,其中D(i,j)表示第i个城市到第j个城市的距离。粒子群优化算法是一种基于群体智能的优化算法,其中的粒子代表了潜在的解,并通过模拟粒子在解空间中的移动来搜索最优解。一、多旅行商问题建模。

m0_47037246的博客 553

提示libfakeroot.so或libfakeroot-sysv.so出错处理方法

嵌入式Linux、Buildroot交叉编译出现fakeroot问题处理方法。

阿xin*的嵌入式AI 1443

人工智能应用基础——Python程序流程控制结构第一次实验报告

导语:本文属于一篇课后作业,并不专业,本人对于Python的了解也仅处于刚接触阶段,写一篇报告是老师的作业要求,也是我学习的笔记,如有错误内容请见谅,能帮忙指出更是感激不尽。好的学习内容网上很多,以后也会坚持记录(希望如此),本人学习的过程还是老师课堂上教学今天的内容,课后作业主要借助ai工具辅助检查代码错误以及思路引导。咳咳,这篇文章可以说是老师资料的整理哈哈哈。

qq_74026940的博客 2416

里海NX二次开发3000例-专栏目录

UDO(User Defined Object)是“用户自定义对象”。应用非常广,可以用UDO创建自定义特征,也可以对NX原有的特征添加一些特殊信息,这些信息会保存在部件中,以后可以查询。还可以实时追踪NX对象,例如做3D包容盒线框自动追踪实体,做2D矩形框自动追踪图纸尺寸值,这些在下面的例子都有介绍。读者可以自己编译下面的例子,体会理解UDO的用法。------里海 20230512序号内容​链接01使用UDO在所有实体上设置更新回调​链接02使用UDO生成跟踪实体的线框​链接03删除UDO​链接。

王牌飞行员_里海的博客 7714

实验二 程序流程控制

7. 编写程序输入三角形的3条边,先判断是否可以构成三角形,如果可以,,则进一步求三角形的周长和面积,否则报错“无法构成三角形!3. 编写程序,使用不同的实现方法输出2000~3000的所有闰年,运行效果如下图所示。:在Python中,for循环是一种常用的循环结构,用于遍历序列(如列表、元组、字符串)或其他可迭代对象,for循环可以对序列中的每个元素执行指定的代码块。9. 编写程序,输入一元二次方程的3个系数a、b和c,求ax2+bx+c=0方 程的解。5. 编写程序,计算Sn=1+1/2+1/3+…

Zhong_Shiliang的博客 963

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Python程序流程控制全解析

本文介绍了Python程序流程控制的基本概念和方法。主要内容包括:1)程序描述的三种方式:自然语言、流程图和伪代码;2)程序组织结构,重点讲解了顺序结构、分支结构(单分支if、双分支if-else、多分支if-elif-else及3.11新增的match-case模式)和循环结构(for遍历循环、for-else结构、while无限循环和while-else结构);3)缩进和冒号在Python中的重要作用;4)循环控制语句如break的使用方法。文章通过具体语法示例,详细说明了各种控制结构的实现方式和使用场

2502_92830601的博客 1528

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

《Linux与Python 编程 R》--实验指导书(2020)

目录实验一 Linux系统安装与使用基础【目的与要求】【实验内容】实验二 Python程序运行方式和程序流程控制【目的与要求】【实验内容】实验三 Python函数【目的与要求】【实验内容】实验四 Python面向对象程序设计【目的与要求】【实验内容】 实验一 Linux系统安装与使用基础 linux复习笔记-建议收藏 【目的与要求】 (一) 目的 本实验的目的是使学生学会Linux的安装、配置和基础使用;掌握Linux常用命令的格式和操作以及系统管理、设备管理、用户管理和文件存取权限管理的基本方法

文艺倾年的博客 9148

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python编程实验一:流程控制结构

Python编程实验一:流程控制结构

Morse_Chen的博客 2854

python程序流程控制 例题

流程控制

m0_72363224的博客 847

程序流程控制

分支结构、循环结构、流程图

Yan_ks的博客 954

Python学习笔记(三)(程序流程控制)

条件语句:通过实现分支逻辑。循环语句for遍历序列,while满足条件时循环。流程控制break终止循环,continue跳过当前迭代,pass占位。异常处理保证程序健壮性。掌握这些流程控制工具,可以编写更灵活、高效的 Python 程序!

wsys_yysn的博客 1454
上一篇: python实验1:变量和数据类型
下一篇: python实验3:函数和文件操作
小柚柚0.o
博客等级 码龄4年 170粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值