Python编程基础:实验1——程序的控制结构

简介: Python编程基础实验1——程序的控制结构

一、前言

本专栏用于记录我之前学习Python的一些知识点以及学习开设的Python编程基础课的一些实验等等内容。

目前我们课程Python学习到了控制结构,然后老师布置了实验让我们去完成,有七道程序填空题,三道编程题。

以下程序仅供参考,请勿盲目照搬,谢谢!

二、我的环境

  • 电脑系统:Windows 11
  • 语言版本:Python 3.10.4
  • 编译器:VSCode

三、实验目的与要求

  1. 掌握 random 库的用法。
  2. 掌握分支语句的常用嵌套结构。
  3. 掌握循环语句的常用嵌套结构。

四、实验任务

1、程序填空

【填空6-1】随机产生大写字母并逆向输出。

随机产生 4 个 A-Z 之间的数字,使其挨个输出,再逆向合并,用空格间隔后输出,随机

种子为 7。请完善代码。

importrandomasrr.seed(7)
s=''foriinrange(4):
ch=chr(r.randrange(65, 90, 1))
print(ch)
s=ch+' '+sprint(s)

它运行的结果是:

KEMUUMEK

这里randrange()函数中前两个参数是A和Z的十进制编码。

【填空6-2】五角星数。

五角星数是 5 位的自幂数(如:54748=5^5 + 4^5+ 7^5+ 4^5+ 8^5),计算并输出 10000

~100000 之间(不含 100000)所有的五角星数。请完善代码。

foriinrange(10000, 100000):
n1=i//10000n2= (i-n1*10000) //1000n3= (i-n1*10000-n2*1000) //100n4= (i-n1*10000-n2*1000-n3*100) //10n5=i%10ifi==n1**5+n2**5+n3**5+n4**5+n5**5:
print(i)

它运行的结果是:

547489272793084

【填空6-3】输出四方形九九乘法表。

要求输出如下所示的四方形九九乘法表。请完善代码。

foriinrange(1,10):
forjinrange(1,10):
print("{}×{}={:<2} ".format(i,j,i*j),end="")
print()

它运行的结果是:

1×1=11×2=21×3=31×4=41×5=51×6=61×7=71×8=81×9=92×1=22×2=42×3=62×4=82×5=102×6=122×7=142×8=162×9=183×1=33×2=63×3=93×4=123×5=153×6=183×7=213×8=243×9=274×1=44×2=84×3=124×4=164×5=204×6=244×7=284×8=324×9=365×1=55×2=105×3=155×4=205×5=255×6=305×7=355×8=405×9=456×1=66×2=126×3=186×4=246×5=306×6=366×7=426×8=486×9=547×1=77×2=147×3=217×4=287×5=357×6=427×7=497×8=567×9=638×1=88×2=168×3=248×4=328×5=408×6=488×7=568×8=648×9=729×1=99×2=189×3=279×4=369×5=459×6=549×7=639×8=729×9=81

【填空6-4】 百元买百鸡。

由我国古代数学家张丘建在《算经》一书中提出:“鸡翁一,值钱

五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何? ”题意如下:

已知公鸡 5 元一只,母鸡 3 元一只,小鸡 3 只一元,用 100 元买一百只鸡。其中公鸡、

母鸡、小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只? 请完善代码。

print('%s%3s%3s'% ('公鸡', '母鸡', '小鸡'))
forcockinrange(1,19):
forheninrange(1,32):
chick= (100-cock*5-hen*3) *3ifchick!=0andchick%3==0andchick+hen+cock==100:
print(cock, "   ", hen, "    ", chick, "    ")

它运行的结果是:

公鸡母鸡小鸡418788118112484

【填空6-5】复读句子。

户输入复读次数和复读句子,将句子按照逗号进行分割成子句,将

子句和整句按照复读次数进行输出。例如:输入的复读次数为 2,输入的句子为“一起向未

来!Together for a Shared Future!”,则让它先输出每个子句 2 遍,再输出整句 2 遍。请完善

代码。

n=int(input("请输入复读次数:"))
s=input("请输入复读句子:")
sub=s.split("!")
foriinrange(len(sub)):
forjinrange(n):
print(sub[i])
forjinrange(n):
print(s)

它运行的结果是:

请输入复读次数:2请输入复读句子:一起向未来!TogetherforaSharedFuture一起向未来一起向未来TogetherforaSharedFutureTogetherforaSharedFuture一起向未来!TogetherforaSharedFuture一起向未来!TogetherforaSharedFuture

【填空6-6】 猜数游戏。

由随机函数从 1~10 中生成一个整数,用户最多可以猜数 3 次,每

次猜楼数后都会告诉用户是猜中了还是猜大了还是猜小了,如果猜错了,还会显示剩余的可

猜次数。请完善代码。

importrandomn=random.randint(1, 11)
fortinrange(3):
g=eval(input("请输入数字(1~10):"))
ifg==n:
print("你猜中了!")
breakelifg<n:
print("你猜小了,还有{}次机会!".format(2-t))
else:
print("你猜大了,还有{}次机会!".format(2-t))
if2-t<3:
print("超过三次,猜数结束!")

它运行的结果是:

请输入数字(1~10):10你猜大了,还有2次机会!请输入数字(1~10):2你猜小了,还有1次机会!请输入数字(1~10):4你猜小了,还有0次机会!超过三次,猜数结束!

【填空6-7】账号密码登录。

给用户三次输入用户名和密码的机会,要求如下:

用户输入账号,若账号为 “admin”,则提示用户输入密码,若密码为“123456”,则提

示“登录成功”,并且退出循环;否则提示“密码错误!”。若账号不为“admin”,则提示“账

号错误!”

如果 3 次都不正确,则提示“3 次输入有误!退出程序。”。

请完善代码。

name="admin"password="666666"count=0whilecount<3:
userInput=input("请输入账号:")
ifuserInput==name:
userInput=input("请输入密码:")
ifuserInput==password:
print("登录成功!")
breakelse:
print("密码错误!")
else:
print("账户错误!")
count=count+1ifcount==3:
print("3次输入有误!退出程序。")

它运行的结果是:

请输入账号:admin请输入密码:666666登录成功!请输入账号:admin请输入密码:123密码错误!请输入账号:admin请输入密码:666666登录成功!请输入账号:ad账户错误!请输入账号:admin请输入密码:123密码错误!请输入账号:admin请输入密码:666666登录成功!请输入账号:a账户错误!请输入账号:admin请输入密码:123密码错误!请输入账号:admin请输入密码:666密码错误!3次输入有误!退出程序。

2、编程

【编程6-1】产生随机数并求平均值。

产生 3 个 0-9 之间的随机数字,使其逐个输出,最后将该 3 个随机数的平均值输出。

提示: random.randint(i,j)用于产生一个 [i,j] 之间的随机整数。

importrandomsum=0foriinrange(3):
n=random.randint(0, 9)
print("0~9之间的随机数为:{}".format(n))
sum+=nprint("平均值为:{}".format(sum/3))

它运行的结果是:

0~9之间的随机数为:60~9之间的随机数为:30~9之间的随机数为:5平均值为:4.666666666666667

【编程6-2】水仙花数。

水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身(例如:1^3

+ 5^3+ 3^3 = 153),计算并输出所有的水仙花数。

forninrange(100,1000):
i=n//100j=n//10%10k=n%10ifn==i*i*i+j*j*j+k*k*k: 
print(n, end=" ")

它运行的结果是:

153370371407

【编程6-350 以内的质数。

质数又称素数,一个大于 1 的自然数,除了 1 和它自身外,

不能被其他自然数整除的数叫做质数;否则称为合数(规定 1 既不是质数也不是合数)。编

写程序先输出一行文字:“50 以内的质数有:”,然后遍历 50 以内的所有质数并输出。

提示:可以采用 for 循环语句嵌套 for 循环形式,如果不是质数则退出内循环,再继续

下一轮外循环遍历;否则输出该质数。

s=[]
foriinrange(3, 51):
k=Trueforjinrange(2, i):
ifi%j==0:
k=Falsebreakifk==True:
s.append(i)
forjins:
print(j, end=' ')

它运行的结果是:

3571113171923293137414347

五、最后我想说

本期的Python实验就到这里结束,本期的题目还算简单,稍微理解一下就能完成,后续我也会持续更新后续实验的,敬请期待。       创作不易,期待得到你们的支持,谢谢!

目录
相关文章
|
6天前
|
数据处理 UED Python
Python 进度条:告别枯燥等待,让你的程序动感十足!
Python 进度条:告别枯燥等待,让你的程序动感十足!
26 1
|
7天前
|
算法 程序员 开发工具
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
在学习Python的旅程中你是否正在“绝望的沙漠”里徘徊? 学完基础教程的你,是否还在为选择什么学习资料犹豫不决,不知从何入手,提高自己?
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
|
5天前
|
算法 程序员 开发工具
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
在学习Python的旅程中你是否正在“绝望的沙漠”里徘徊? 学完基础教程的你,是否还在为选择什么学习资料犹豫不决,不知从何入手,提高自己?
|
3天前
|
数据采集 存储 人工智能
掌握Python编程:从基础到进阶的实用指南
【8月更文挑战第17天】 本文旨在通过浅显易懂的语言和实际案例,为初学者和有一定基础的开发者提供一条清晰的Python学习路径。我们将从Python的基本语法入手,逐步深入到面向对象编程、数据科学应用及网络爬虫开发等高级主题。每个部分都配备了代码示例和实操建议,确保读者能够将理论知识转化为实际能力。无论你是编程新手,还是希望提升Python技能的开发者,这篇文章都将为你打开一扇通往高效编程世界的大门。
7 2
|
3天前
|
设计模式 开发者 索引
Python中的分支结构
Python中的分支结构
|
7天前
|
并行计算 开发者 Python
解锁Python多进程编程的超能力:并行计算的魔法与奇迹,探索处理器核心的秘密,让程序性能飞跃!
【8月更文挑战第12天】在Python编程领域,多进程编程是一项关键技能,能有效提升程序效率。本文通过理论与实践结合,深入浅出地介绍了Python中的多进程编程。首先解释了多进程的概念:即操作系统中能够并发执行的多个独立单元,进而提高整体性能。接着重点介绍了`multiprocessing`模块,演示了如何创建和启动进程,以及进程间的通信方式,如队列等。此外,还提到了更高级的功能,例如进程池管理和同步原语等。通过这些实例,读者能更好地理解如何在实际项目中利用多核处理器的优势,同时注意进程间通信和同步等问题,确保程序稳定高效运行。
20 0
|
19天前
|
测试技术 开发者 Python
Python 编程中的装饰器深入解析
【8月更文挑战第1天】本文将通过实例和代码演示,深入探讨 Python 中装饰器的概念、用法和高级应用。我们将从基础开始,逐步过渡到如何自定义装饰器,并展示其在日志记录、性能测试等场景下的实际用途。文章最后还将讨论装饰器的常见误区和最佳实践。
|
8天前
|
Python
python Process 多进程编程
python Process 多进程编程
19 1
|
12天前
|
存储 数据挖掘 程序员
揭秘Python:掌握这些基本语法和数据类型,你将拥有编程世界的钥匙!
【8月更文挑战第8天】Python是一种高级、解释型语言,以简洁的语法和强大的功能广受好评。本文从基本语法入手,强调Python独特的缩进规则,展示清晰的代码结构。接着介绍了Python的主要数据类型,包括数值、字符串、列表、元组、集合和字典,并提供了示例代码。通过这些基础知识的学习,你将为深入探索Python及其在文本处理、数据分析等领域的应用打下坚实的基础。
26 3
|
14天前
|
Python
揭秘!Python系统编程里那些让代码自由穿梭的神奇代码行
【8月更文挑战第6天】在Python编程中,一些简洁有力的代码构造让程序更加灵动高效。列表推导式能一行生成列表,如`squares = [x**2 for x in range(10)]`。`with`语句确保资源自动释放,例`with open(&#39;example.txt&#39;, &#39;r&#39;) as file:`。`lambda`函数便于快速定义小函数,`map(lambda x: x + 1, numbers)`即可完成列表映射。
28 4