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

目录
相关文章
|
8天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
8天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
8天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
9天前
|
机器学习/深度学习 存储 算法
探索Python编程:从基础到高级应用
【10月更文挑战第38天】本文旨在引导读者从Python的基础知识出发,逐渐深入到高级编程概念。通过简明的语言和实际代码示例,我们将一起探索这门语言的魅力和潜力,理解它如何帮助解决现实问题,并启发我们思考编程在现代社会中的作用和意义。
|
9天前
|
算法 定位技术 Python
震惊!Python 图结构竟然可以这样玩?DFS&BFS 遍历技巧大公开
在 Python 编程中,图是一种重要的数据结构,而深度优先搜索(DFS)和广度优先搜索(BFS)是遍历图的两种关键算法。本文将通过定义图的数据结构、实现 DFS 和 BFS 算法,并通过具体示例展示其应用,帮助读者深入理解这两种算法。DFS 适用于寻找路径和检查图连通性,而 BFS 适用于寻找最短路径。掌握这些技巧,可以更高效地解决与图相关的复杂问题。
22 2
|
1月前
|
安全 测试技术 数据库
Python编程--sys模块及OS模块简单用例
Python编程--sys模块及OS模块简单用例
|
1月前
|
JSON 数据格式 Python
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
|
1月前
|
数据处理 Python
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
|
6月前
|
人工智能 安全 Java
Python 多线程编程实战:threading 模块的最佳实践
Python 多线程编程实战:threading 模块的最佳实践
256 5
|
6月前
|
安全 调度 Python
什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
【2月更文挑战第4天】【2月更文挑战第9篇】什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
133 0
下一篇
无影云桌面