实验二 Python运算符和内置函数的使用《Python程序设计》实验指导书

实验  Python运算符和内置函数的使用

一、实验目的和要求

(一)熟练掌握运算符的使用。

(二)熟练掌握内置函数的使用。

二、实验内容

(一)输入三角形的3个边长a、b、c,求三角形的面积area。利用如下海伦公式求三角形的面积。

  • 韩信点兵问题。

韩信在兰陵和项羽的军队打了一仗。当时韩信手下只有1500名将士,经过轮番作战,汉军约损失了近500名士兵,韩信为了知道到底剩下多少士兵,他开始“点兵”。

韩信“点兵”时,他先命令士兵每3人一组,最后多出了2名士兵;接着又命令7人一组,仍多了2名士兵;他再命令士兵5人一组,结果多了3名士兵。韩信马上告诉大家,现在我们有1073名士兵。

韩信点兵问题,实际上是我国古代有名的数学问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”又称为“中国剩余定理”。

我们使用Python语言编写一下韩信点兵的示例。该代码通过用户估算的兵力的上限和下限,可以测定出士兵的实际人数。

(三)编写程序,输入任意大的自然数,输出各位数字之和。

(四)编写程序,输入等比数列的首项、公比(不等于1且小于20的正整数)和一个自然数n,输出这个等比数列前n项的和。

三、实验仪器、设备

PC一台+Windows 操作系统+Anaconda/IDLE/Pycharm/VS Code。

四、实验原理

(一)Python常用的运算符

常见的运算符包括:算术运算符、赋值运算符、关系运算符、逻辑运算符、成员运算符、同一运算符。

1.算术运算符

    算术运算符包括:+、-、*、/、//、**、%。具体含义及优先级见表2-2。

表2-2 算术运算符

运算符

含义

优先级

+

加法

这些运算符的优先级相同,但比下面的运算符优先级低

-

减法

*

乘法

这些运算符的优先级相同,但比上面的运算符优先级高

/

除法

//

取整除

**

幂运算

%

取模

2.赋值运算符

 赋值运算符用“=”表示。

 赋值表达式: 变量 = 表达式

(1)普通赋值

               a=3

(2)链式赋值

           x=y=5

(3)多变量并行赋值

           x,y,z=2,5,8

(4)复合的赋值运算符

赋值运算符“=”与7种算术运算符(+、-、*、/、//、**、%)

和5种位运算符(>>、<<、&、^、|)结合构成12种复合的赋值运算符。

               a+=3          等价于      a=a+3

               a*=a+3        等价于      a=a*(a+3)

               a%=3           等价于      a=a%3

3.关系运算符

关系运算符包括>、>=、<、<=、==、!=。具体含义及优先级见表2-3。

表2-3 关系运算符

运算符

含义

优先级

结合性

>

大于

这些运算符的优先级相同,但比下面的运算符优先级低

左结合

>=

大于等于

<

小于

这些运算符的优先级相同,但比上面的运算符优先级高

<=

小于等于

==

等于

!=

不等于

4.逻辑运算符

逻辑运算符包括:not、and、or。具体含义及优先级见表2-4。

表2-4 逻辑运算符

运算符

含义

优先级

结合性

not

逻辑非

右结合

and

逻辑与

左结合

Or

逻辑或

5.成员运算符和成员表达式

成员运算符包括:in、not in。具体含义及优先级见表2-5。

表2-5 成员运算符和成员表达式

运算符

含义

优先级

结合性

in

存在

相同

左结合

not in

不存在

6.同一性运算符和同一性表达式

同一运算符:is、is not。具体含义及优先级见表2-6。

表2-6 同一性运算符

运算符

含义

优先级

结合性

is

相同

相同

左结合

is not

不相同

(二)Python常用内置函数

Python常用内置函数及用法如表2-7所示。

表2-7 Python常用内置函数

内置函数

说明

内置函数

说明

len(列表)

返回列表中的元素个数,同样适用于元组、字典、集合、字符串等。

sum(列表)

sum(iterable[, start])。对列表的元素进行求和运算,对非数值型列表运算需要指定start参数,同样适用于元组、range。

eval(常量表达式)

用来计算字符串的值或执行字符串中的Python代码,或者进行类型转换。

range(start,stop,step)

创建一个整数列表,一般用在for循环中。start:开始位置。默认为0。stop结束位置,但不包括stop。

step:步长,默认为1。

int([x])

返回实数x的整数部分,或把字符串x看作base进制并转为十进制

float(x=0,/)

将一个数字或字符串转换为浮点数

max(列表)

返回列表中的最大元素,同样适用于元组、字典、集合、range对象等。

zip(列表1,列表2,…)

zip(*iterables)

将多个列表或元组对应位置的元素组合为元组,并返回包含这些元组的可迭代的zip对象。带*为解包。

min(列表)

返回列表中的最小元素,同样适用于元组、字典、集合、range对象等。

enumerate(列表)

enumerate(iterable, start=0)

枚举列表元素,返回枚举对象,其中每个元素为包含下标和值的元组。该函数对元组、字符串同样有效。

五、实验步骤

(一)进入Anaconda Navigator界面,单击Jupyter Notebook下的按钮【Launch】,进入Jupyter Notebook开发环境。

(二)例如在桌面上新建一个Python 3文件,进入“Desktop”目录,单击按钮【New】下的【Python 3】,指定文件名,每个实验项目创建一个Python源代码文件。

(三)编写Python程序。

(四)运行Python程序。单击工具栏上的按钮【Run】或者菜单【Cell】下的某一Run选项或者按快捷键“Ctrl+Enter”。

(五)撰写实验报告。

六、实验注意事项

(一)机房的使用规范和用电安全。

(二)正确使用数据类型。

(三)先确定数据类型和算法,再编写程序实现。

七、实验报告要求

实验报告以书面/电子形式提交,严禁抄袭,一旦发现,即为零分。

实验报告主要内容包括实验名称、实验类型、实验地点、学时、实验环境、实验原理、实验步骤、实验结果、总结与思考等。

八、实验成绩考核

实验成绩根据实验课的出勤、课堂表现、实验思考以及实验报告的书写情况打分,按百分制,实验成绩的平均值按15%比例计入课程总成绩。

【参考代码】

(一)输入三角形的3个边长a、b、c,求三角形的面积area。利用海伦公式求三角形的面积。

import math

a=float(input("请输入三角形的边长1:"))
b=float(input("请输入三角形的边长2:"))
c=float(input("请输入三角形的边长3:"))

#海伦公式
S=(a+b+c)/2
area=math.sqrt(S*(S-a)*(S-b)*(S-c))
print("三角形的面积是:", area)

(二)韩信点兵问题。

# 用户输入士兵人数的上限与下限

soldiers=eval(input("请输入士兵的估算人数的上限和下限,用逗号隔开:"))

while len(soldiers) != 2:

    soldiers = eval(input("请重新输入士兵的估算人数的上限和下限,用逗号隔开:"))

# 根据韩信点兵规则,算出具体兵力

for i in range(soldiers[0],soldiers[1]):

    if i%3==2 and i%5==3 and i%7==2:

        print("韩信点兵的具体人数是:",i)

# 测试用例

输入:1000,1100

输出:1073

(三)编写程序,输入任意大的自然数,输出各位数字之和。

num = input("请输入一个自然数:")    # 读取用户输入的字符串

# 使用map函数完成对每一个字符的整型转换,再使用sum对每一位求和

print(sum(map(int,num)))             

(四)编写程序,输入等比数列的首项、公比(不等于1且小于20的正整数)和一个自然数n,输出这个等比数列前n项的和。

a1 = int(input("请输入等比数列的首项:"))

q = int(input("请输入等比数列的公比:"))

n = int(input("请输入一个自然数:"))

result = a1 * int("1" * n,q)   # a1 * (1 * q ^0  + 1 * q ^1 + 1 * q ^2)

print(result)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

YOLO目标检测——机油泄露检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;机械设备维护、工业生产监控、环保监管等数据集说明&#xff1a;机油泄露检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0c;含voc(xml)、co…

go语言 | 图解字节青训营抖音(一)

前言 本文大致介绍了本人及本人所在小组为第五届字节跳动青训营后端专场大项目需求 —— 「实现一个极简版抖音」的部分实现细节。 需求 本届后端青训营大项目要求实现一个极简版抖音的后端服务&#xff0c;该后端服务通过 HTTP 协议向已被设计好的前端 App 传递数据&#xf…

【漏洞复现】IP-guard WebServer 远程命令执行

漏洞描述 IP-guard是一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。互联网上披露IP-guard WebServer远程命令执行漏洞情报。攻击者可利用该漏洞执行任意命令,获取服务器控制权限。 免责声明 技术文章仅供参考,任何个人和…

Android平台 - APP备案

今年因 工业和信息化部 要求&#xff0c;Andorid各大厂商陆续发出通知&#xff0c;需要各应用公司及时进行app备案&#xff0c;如过期未进行备案则会被陆续下架&#xff01; 正好在统计Andorid各平台对于app备案时间节点要求&#xff0c;故此予以总结&#xff08;一切均已平台为…

亚马逊美国站CPC认证ASTM F963测试项目要求有哪些?

ASTM F963是美国材料和试验联合会&#xff08;ASTM&#xff09;制定的儿童玩具安全性的标准规范&#xff0c;专门针对儿童玩具产品的安全性进行了规定和要求。 ASTM F963标准的内容和要求包括&#xff1a; 1、物理机械性能&#xff1a;规定了玩具的物理机械性能要求&#xff0…

cocos3.4.2 2d射线检测 和 animation动画

2D的射线检测 ,注:目标必须有2d刚体和2d碰撞器 ,且项目设置内必须是这个物理系统 //起点位置let objs new Vec2(this.node.getWorldPosition().x, this.node.getWorldPosition().y);// 终点 let obje new Vec2(objs.x 100, objs.y);// 射线检测let results PhysicsSystem2…

Python入门简介及下载安装,超详细教学!

文章目录 一、Python简介&#xff1a;Python解释器的类型Python的运行机制1、查看 Python 版本2、第一个Python3.x程序3、Python 应用 二、Python安装&#xff08;windows&#xff09;1、下载2、安装步骤&#xff1a; 三、运行Python1、交互式解释器&#xff1a;扩展&#xff1…

(预热2024最新)Java毕业设计、课程设计参考题目(全网最新 共计800多个)

临近期末或是毕业季&#xff0c;计算及专业的童鞋们最头疼的要数为毕设、课设选题目&#xff0c;不能太老旧、也不能太新颖&#xff08;无参考案例&#xff09;&#xff0c;慕代码为大家整理了近两年设计选题&#xff0c;让你直接上手开始选&#xff0c;省去了冥思苦想。从过来…

echarts 实现分割型柱状图示例

该示例有如下几个特点&#xff1a; ①实现数据过多时滚动展示&#xff08;echarts 数据过多时展示滚动条-CSDN博客&#xff09; ②实现tooltip自定义样式&#xff08;echarts 实现tooltip提示框样式自定义-CSDN博客&#xff09; ③鼠标放置时柱状图颜色更改 代码如下&#xff…

Android Fragment 要你何用?2.0版本

作者&#xff1a;小鱼人爱编程 1. 老生常谈&#xff1a;为什么需要Fragment? 先看Activity、Fragment、View三者的关系&#xff1a; Activity 拥有生命周期&#xff0c;但是需要和AMS通信(跨进程)&#xff0c;比较臃肿。 View 不需要和AMS通信&#xff0c;但没有生命周期&…

Ubuntu18.04安装Moveit框架

简介 Moveit是一个由一系列移动操作的功能包组成的集成化开发平台,提供友好的GUI,是目前ROS社区中使用度排名前三的功能包,Moveit包含以下三大核心功能,并集成了大量的优秀算法接口: 运动学:KDL,Trac-IK,IKFast...路径规划:OMPL,CHMOP,SBPL..碰撞检测:FCL,PCD... 一、更新功…

【PIE-Engine 数据资源】中国叶面积指数(LAI)月度合成产品

文章目录 一、 简介二、描述三、波段四、示例代码运行结果参考资料 一、 简介 数据名称中国叶面积指数&#xff08;LAI&#xff09;月度合成产品时间范围2002-2021年空间范围全国数据来源航天宏图代码片段var images pie.ImageCollection(“EMDO/MODIS_MONTH_LAI_CHINA”) 二…

Stable Diffusion进阶玩法说明

之前章节介绍了Stable Diffusion的入门&#xff0c;介绍了文生图的魅力&#xff0c;可以生成很多漂亮的照片&#xff0c;非常棒 传送门&#xff1a; Stable Diffusion新手村-我们一起完成AI绘画-CSDN博客 那我们今天就进一步讲讲这个Stable Diffusion还能做些什么&#xff0c; …

Stable Diffusion - StableDiffusion WebUI 软件升级与扩展兼容

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/134463035 目前&#xff0c;StableDiffusion WebUI 的版本是 1.6.0&#xff0c;同步更新 controlnet、tagcomplete、roop、easy-prompt-selector等…

openpyxl获取单元格的主题色的颜色值

&#x1f4e2;作者&#xff1a; 小小明-代码实体 &#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/as604049322 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 欢迎讨论&#xff01; openpyxl 支持以下几种颜色类型&#xff1a; RGB (Red, Green, …

【漏洞复现】用友U8-Cloud 存在任意文件上传漏洞

漏洞描述 U8 cloud 聚焦成长型、创新型企业的云 ERP,基于全新的企业互联网应用设计理念,为企业提供集人财物客、产供销于一体的云 ERP 整体解决方案,全面支持多组织业务协同、智能财务,人力服务、构建产业链智造平台,融合用友云服务实现企业互联网资源连接、共享、协同。…

YOLO目标检测——PCB缺陷数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;电子制造过程的质量控制、生产线的自动化检测、以及产品可靠性验证等方面数据集说明&#xff1a;PCB缺陷检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量…

选择Amazon EC2,走进云端新时代

目录 前言 选择云服务器 / 海外服务器需要关注的重点 Amazon EC2 云服务器的优势所在 文末总结 前言 常言道&#xff0c;工欲善其事必先利其器&#xff0c;无论你是资深开发者&#xff0c;还是普通爱好者&#xff0c;在日常开发和学习生活中都需要用到云服务器提供的丰富的…

【978.最长湍流子数组】

目录 一、题目描述二、算法原理三、代码实现 一、题目描述 二、算法原理 三、代码实现 class Solution { public:int maxTurbulenceSize(vector<int>& arr) {int narr.size();vector<int> f(n),g(n);f[0]g[0]1;if(n1) return 1;int retmax(f[0],g[0]);for(int…

资深品酒师荆芳老师倾情力作,带你品酒选酒,读懂葡萄酒的世界

在美酒琳琅满目的今天&#xff0c;如何才能挑选到适合自己的葡萄酒&#xff1f;如何品鉴葡萄酒的独特魅力&#xff1f;资深品酒师荆芳老师的最新力作《葡萄酒爱好者》正式上线&#xff0c;带你走进葡萄酒的世界&#xff0c;领略品酒选酒的奥秘。作为一位资深的品酒师和教育工作…