python实验二报告_20172304 2019-2020-2 《Python程序设计》实验二报告

20172304 2019-2020-2 《Python程序设计》实验二报告

课程:《Python程序设计》

班级: 1723

姓名: 段志轩

学号:20172304

实验教师:王志强

实验日期:2020年4月15日

必修/选修: 公选课

1.实验内容

设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。

考核基本语法、判定语句、循环语句、逻辑运算等知识点

2. 实验过程及结果

首先这个程序是为了实现计算器相关的功能,首先想到使用if搭配while循环来实现计算器相关的功能,但是为了提高代码的复用率,最后选择了通过定义和使用方法来实现。

首先根据各种运算来定义对应的方法。在这里总共定义了八种运算。

(加、减、乘、除、模运算、阶乘、乘方、开方)

对应的方法如下。

f2b0f95b89a7e76230d982da57dc4933.png

然后通过在循环中通过数字搭配if-elif-else语句来实现对计算类型的选择

while flag == True:

# 用户输入

print("选择运算:");print("1、相加");print("2、相减");print("3、相乘");print("4、相除");print("5、模运算");print("6、阶乘")

print("7、乘方");print("8、开方")

choice = input("输入你的选择(1/2/3/4/5/6/7/8):")

if choice == '1' or choice == '2' or choice =='3'or choice =='4' or choice =='5' or choice == '6' or choice == '7':

num1 = int(input("输入第一个数字: "))

num2 = int(input("输入第二个数字: "))

elif choice == '8':

num1 = int(input("输入第一个数字:"))

else:

print("非法输入")

if choice == '1':

print(num1, "+", num2, "=", add(num1, num2))

elif choice == '2':

print(num1, "-", num2, "=", subtract(num1, num2))

elif choice == '3':

print(num1, "*", num2, "=", multiply(num1, num2))

elif choice == '4':

print(num1, "/", num2, "=", divide(num1, num2))

elif choice == '5':

print(num1, "%", num2, "=", modular_arithmetic(num1, num2))

elif choice == '6':

print(num1,"!" , "=", factortial(num1))

elif choice == '7':

print(num1, "^", num2, "=", exponentiation(num1, num2))

elif choice == '8':

print("√" , num1, "=", Root_operation(num1))

else:

print("非法输入")

result = input("是否继续进行运算Y/N")

if result == "N":

flag = False

具体运行的效果如下

ac6364c4bf95fc544faa74ea87fe1250.png

其他(感悟、思考等)

经过本次实验,更加深入的了解了python的各种用法,更加熟练的使用各种python类型和语法。

参考资料

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装minikube

下载安装 kubectl sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && sudo chmod x kubectl && sudo mv kubectl /us…

网管必须了解的理光复印机相关故障现相之一

相信很多人都知道,网络管理员主要负责的是维护管理好局域网的正常运行。很有公司、企事业单位,IT部门负责的工作常常会包含各种周边设备的日常维护。这其中又以打印机、复印机为主。当然,很多时候不要求我们一定要懂得维修打印机、复印机&…

windows10 vscode 构建最强大的 Mingw C++ gcc 编译环境

工具准备 首先应该准备如下工具: 安装对应版本的Visual Studio Code。安装VS Code上的C扩展:C extension for VS Code。下载MinGW-w64,考虑到是外网资源,建议选择离线版本,在线安装比较慢,不太稳定。MinG…

mysql数据库关联练习_mysql数据库建立数据表的练习(附代码)

数据库操作和学习并不难,难的是如何在各种实际运用情况下编写SQL语句的实现。这个过程,需要大量的练习,那么从这里开始,我们来讲解实现。任务概述具体关系数据库如下:数据库名:教师数据库教师表(编号 char(…

win10安装vmware tools + 无法拖拽文件解决

1、加载VMware Tools安装光盘 打开虚拟机VMware Workstation,启动 Ubuntu 系统 菜单栏 - 虚拟机 - 安装VMware Tools。 2、将安装文件提取到本地磁盘 打开加载的VMwareTools光盘,鼠标右键 VMwareTools-*.tar.gz 文件,提取到系统盘下的文件…

mysql 需要什么硬件配置_如何来给指定的硬件环境配置一份比较合理的MySQL配置文件-爱可生...

简介通过sysbench的oltp_read_write测试来模拟业务压力、以此来给指定的硬件环境配置一份比较合理的MySQL配置文件。环境介绍硬件配置软件环境优化层级与指导思想优化层级MySQL数据库优化可以在多个不同的层级进行,常见的有:SQL优化参数优化架构优化本文…

图片打标

在物体检测问题中,第一个需要解决的就是给训练集中的图片打标,所谓打标,就是用一个文件来描述图中物体的位置框坐标(xmin,ymin,xmax,ymax),以定位物体的位置。 一个比较…

动态定时任务与动态生成class代码

动态定时任务 原理 采用定时任务线程池ThreadPoolTaskScheduler来实现定时任务。动态定时任务就是可以配置的,而不是写死在代码中。所以我们要将其写入到数据库中,然后暴露接口就可以进行配置比如创建、启动、结束任务。 数据库脚本 DROP TABLE IF EXIS…

docker登录mysql数据库_Docker下搭建mysql数据库

1.获取官方镜像:[rootCentos7 mysql]# docker pull mysql/mysql-server:latestlatest: Pulling from mysql/mysql-server1f5b026b07bc: Pull complete3d5697fc1304: Pull complete2747c84403db: Pull completedc0c445a852b: Pull completeDigest: sha256:7aba8c77f9…

LNMP与CA认证的童话故事

在前面的一篇博客中,我已经介绍过,如何通过源码编译安装LAMP,见教你源码编译制作LAMP详细过程 ,这里就介绍下如何编译安装LNMP,以及如何在LNMP中添加ssl认证。LNMP,也叫做LEMP。L,即linux操作系…

Zabbix 最新版 5.2 版本源码安装

Zabbix 最新版 5.0 LTS 版本安装 zabbix 5.0 版本于 5 月 11 日正式发布,是最新的 LTS(长期支持)版本,5.0 带来很多功能和特性,后面会陆续推出文章介绍,下面主要介绍下 5.0 版本的安装。 环境要求 5.0 版…

【声卡驱动】安装realtek high definition audio后重启电脑被自动卸载替换成系统自带的realtek auto

解决步骤 先断网安装前先记录realtek auto的GUID,可以从设备管理器中事件中找到它,复制保留备用 安装 realtek high definition audio ,重启(断网)在断网状态下,winr ,输入gpedit.msc&#xff…

mysql explain是什么意思_mysql explain的作用是什么?

mysql explain的作用是模拟Mysql优化器是如何执行SQL查询语句的,从而知道Mysql是如何处理用户的SQL语句,提高数据检索效率,降低数据库的IO成本。mysql explain的作用是:模拟Mysql优化器是如何执行SQL查询语句的,从而知…

d3.js 搭建 d3-force-directed-graph 例子

d3.js 搭建 d3-force-directed-graph 例子 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <script src&q…

js 创建快捷方式

代码 <script type"text/javascript"language"javascript">//创建快捷方式[浏览器设置要低,ff不支持]functioncreateShortcut() { varfso newActiveXObject("Scripting.FileSystemObject"); varshell newActiveXObject(&quo…

OpenLDAP在linux上的部署和原理应用centos7

轻型目录访问协议&#xff08;英文&#xff1a;Lightweight Directory Access Protocol&#xff0c;缩写&#xff1a;LDAP&#xff09;是一个开放的&#xff0c;中立的&#xff0c;工业标准的应用协议&#xff0c;通过IP协议提供访问控制和维护分布式信息的目录信息。 OpenLDAP…

c# 检测cpu使用率[测试通过]

创建一个控制台应用程序&#xff0c;代码如下 代码 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;//引用2命名空间usingSystem.Diagnostics;usingSystem.Threading;namespaceConsoleApplication1{ classProgram { staticvoidM…

mysql怎么修改表中的文字_mysql表中怎么修改字段?

在mysql表中&#xff0c;可以使用“ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;”语句来修改字段名称&#xff1b;使用“ALTER TABLE 表名 MODIFY 字段名 新数据类型;”语句来修改字段数据类型。修改字段名称MySQL 中修改表字段名的语法规则如下&#xff1a;ALTER TA…

重置mariadb密码

基本的思路是&#xff0c;以安全模式启动MariaDB&#xff0c;这样不需要密码可以直接以root身份登录&#xff0c;然后重设密码。 在Centos 7.0上的操作步骤如下&#xff1a; 首先&#xff0c;我们停掉MariaDB服务&#xff1a; systemctl stop mariadb.service #停止MariaDB在…

asp.net 取windows的所有进程

代码如下&#xff1a; 代码 #region取得windows的所有进程publicstaticstringGetCourse(){ System.Text.StringBuilder sb newSystem.Text.StringBuilder(); stringtempName ""; intbegpos, endpos; foreach(Process thisProc inSystem.Diagnostics.Proc…