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

目录
相关文章
|
26天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
14天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80
|
3天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
25 14
|
14天前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
40 6
|
13天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
47 2
|
26天前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!
|
8天前
|
Shell 开发工具 Python
如何在vim里直接运行python程序
如何在vim里直接运行python程序
|
27天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!