20212115 实验二 《python程序设计》实验报告
实验二 计算器设计
#20212115 2021-2022-2 《python程序设计》 实验报告二
课程:
课程:《Python程序设计》
班级: 2121
姓名: 朱时鸿
学号:20212115
实验教师:王志强
实验日期:2022年3月31日
必修/选修: 公选课
(一)实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
- 考核基本语法、判定语句、循环语句、逻辑运算等知识点
(二)实验要求
创建工程项目,使用Python语言实现具体的操作运算,并完成程序调试和运行,代码托管到码云。
注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、IDLE、Pycharm等工具编程实现。
(三)实验报告
## 1.实验内容
1,学习到python语言中“+”作用为拼接,重复字符串为*
>>> s4="hello world"
>>> s4[:5:2]
'hlo'
2.学会使用split
>>> sl = "hello world 你好 世界"
>>> s1 = "hello world 你好 世界"
>>> s1.split()
['hello', 'world', '你好', '世界']
3.学会使用split(,)来消除字符
>>> s2="hello#world#你好#shijie"
>>> s2.split("#",1)
['hello', 'world#你好#shijie']
4.学会使用count find 函数来判断一个有几个字符
>>>s1.count("#")
>>>0
5.用upper 和 lower来时字母变大写或变小写
6.去掉字符串收尾的字符:strip(),lstrip(),rstrip();
默认去掉 空格 、\n \t \r回车等特殊字符
7.学会使用%操作符
-:使左对齐
+:右对齐
0:右对齐,复数前面加负号,用零填充
m:可选参数,表示占有宽度
8.学会了怎样表示复数
a=complex(input("第一个复数:\n"))
b=complex(input("第二个复数:\n"))
9.输出
print(complex1,op,complex2,"=",result)
print("a "+op+"b =",result,"\n")
10.循环
while(flag == True):
choice = input("请选择你要选择的计算器类型:0为普通计算器,1为复数计算器:\n");
op = input("请输入需要做的操作(+、-、*、/输入0代表退出):\n");
11.判断语句
if op == "0":
flag = False;
print("已退出,祝你生活愉快");
break;
if choice == "0":
a = int(input("请输入操作数1:"));
b = int(input("请输入操作数2:"));
## 2. 实验过程及结果
实验编程计算器的代码
import math;
flag = True;
print("besti专属计算器!");
while(flag == True):
choice = input("请选择你要选择的计算器类型:0为普通计算器,1为复数计算器:\n");
op = input("请输入需要做的操作(+、-、*、/输入0代表退出):\n");
if op == "0":
flag = False;
print("已退出,祝你生活愉快");
break;
if choice == "0":
a = int(input("请输入操作数1:"));
b = int(input("请输入操作数2:"));
elif choice == "1":
a = complex(input("请输入操作数1:"));
b = complex(input("请输入操作数2:"));
result = 0;
if op == "+":
result = a + b;
elif op == "-":
result = a - b;
elif op == "*":
result = a * b;
elif op == "/":
result = a / b;
else:
print("输入错误,请重新输入\n");
continue;
print(str(a)+str(op)+str(b)+"="+str(result)+"\n");
'''
elif choice == "1":
op = input("请输入需要做的操作(+、-、*、/输入0代表退出):\n");
if op == "0":
flag = False;
print("已退出,祝你生活愉快");
break;
a1 = input("请输入第一个数字的实部:\n");
a2 = input("请输入第一个数字的虚部:\n");
b1 = input("请输入第二个数字的实部:\n");
b2 = input("请输入第二个数字的虚部:\n");
complex1 = complex(input("请输入第一个数:\n"));
complex2 = complex(input("请输入第二个数:\n"));
if op == "+":
result = complex1 + complex2;
if op == "-":
result = complex1 - complex2;
if op == "*":
result = complex1 * complex2;
if op == "/":
result = complex1 / complex2;
print(str(complex1)+op+str(complex2)+"="+str(result)+"\n");
if op == "+":
result1 = a1 + b1;
result2 = b1 + b2;
if op == "-":
result1 = a1 - b1;
result2 = b1 - b2;
if op == "*":
result1 = a1*b1 - a2*b2;
result2 = a1*b2 + b1*a2;
print(str(a1)+"+"+str(a2)+"i"+str(op)+str(b1)+"+"+str(b2)+"i="+str(result1)+"+"+str(result2));
'''
再本次实验中的收获与重要的知识点在“内容板块”,最后的结果:成功编出计算器的代码并成功运行
## 3. 实验过程中遇到的问题和解决过程
- 问题1:出现缩进的问题
- 问题1解决方案:使用tap键
- 问题2:编程思路出现问题
if choice=="0":
a=int(input("输入a\n"))
b=int(input("输入b\n"))
elif choice=="1":
a=complex(input("第一个复数:\n"))
b=complex(input("第二个复数:\n"))
- 问题2解决方案:请教同学
- ...
## 其他(本次课上所写的计算器代码)
import math;
flag = True;
print("besti专属计算器!");
while(flag == True):
choice = input("请选择你要选择的计算器类型:0为普通计算器,1为复数计算器:\n");
op = input("请输入需要做的操作(+、-、*、/输入0代表退出):\n");
if op == "0":
flag = False;
print("已退出,祝你生活愉快");
break;
if choice == "0":
a = int(input("请输入操作数1:"));
b = int(input("请输入操作数2:"));
elif choice == "1":
a = complex(input("请输入操作数1:"));
b = complex(input("请输入操作数2:"));
result = 0;
if op == "+":
result = a + b;
elif op == "-":
result = a - b;
elif op == "*":
result = a * b;
elif op == "/":
result = a / b;
else:
print("输入错误,请重新输入\n");
continue;
print(str(a)+str(op)+str(b)+"="+str(result)+"\n");
'''
elif choice == "1":
op = input("请输入需要做的操作(+、-、*、/输入0代表退出):\n");
if op == "0":
flag = False;
print("已退出,祝你生活愉快");
break;
a1 = input("请输入第一个数字的实部:\n");
a2 = input("请输入第一个数字的虚部:\n");
b1 = input("请输入第二个数字的实部:\n");
b2 = input("请输入第二个数字的虚部:\n");
complex1 = complex(input("请输入第一个数:\n"));
complex2 = complex(input("请输入第二个数:\n"));
if op == "+":
result = complex1 + complex2;
if op == "-":
result = complex1 - complex2;
if op == "*":
result = complex1 * complex2;
if op == "/":
result = complex1 / complex2;
print(str(complex1)+op+str(complex2)+"="+str(result)+"\n");
if op == "+":
result1 = a1 + b1;
result2 = b1 + b2;
if op == "-":
result1 = a1 - b1;
result2 = b1 - b2;
if op == "*":
result1 = a1*b1 - a2*b2;
result2 = a1*b2 + b1*a2;
print(str(a1)+"+"+str(a2)+"i"+str(op)+str(b1)+"+"+str(b2)+"i="+str(result1)+"+"+str(result2));
'''
感想:想学好python不易,需要自己付出努力以及遇见一位好老师,很幸运由王老师教课
下为码云的地址
https://gitee.com/zhu-shihong/zhu-shihongs-warehouse/commit/b84aafa140baa5847c177ea314ec0fc23ef7519e
## 参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- ...
20212115 实验二 《python程序设计》实验报告的更多相关文章
- 20175212童皓桢 Java实验二-面向对象程序设计实验报告
20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...
- 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验二 面向对象程序设计 实验报告
20175316 盛茂淞 2018-2019-2 <Java程序设计>实验二 面向对象程序设计 实验报告 (一)单元测试 在 IDEA中我们把产品代码放在src目录中,把测试代码放在tes ...
- 20155220java实验二 面向对象程序设计 实验报告
一.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 (1) 三种代码 伪代码 产 ...
- Python程序设计实验报告二:顺序结构程序设计(验证性实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩 日期 2020.3.22 指导老师 修宇 [实验 ...
- Python程序设计实验报告一:熟悉IDLE和在线编程平台
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩_____ 日期 2020.3.8 指导老师 ...
- Python程序设计实验报告四:循环结构程序设计(设计型实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.8 指导老师 修宇 [实验名称 ...
- Python程序设计实验报告三:分支结构程序设计
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.5 指导老师 修宇 [实验目的 ...
- 2018-2019-2 20175306实验二面向对象程序设计《Java开发环境的熟悉》实验报告
2018-2019-2 20175306实验二面向对象程序设计<Java开发环境的熟悉>实验报告 面向对象程序设计-1 实验要求: 参考:> http://www.cnblogs.c ...
- 2018-2019-20175205实验二面向对象程序设计《Java开发环境的熟悉》实验报告
2018-2019-20175205实验二面向对象程序设计<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>< ...
- #2019-2020-4 实验二面向对象程序设计《Java开发环境的熟悉》实验报告
2019-2020-4 实验二面向对象程序设计<Java开发环境的熟悉>实验报告 一.面向对象程序设计-1 ①实验要求: 1.参考 http://www.cnblogs.com/roced ...
随机推荐
- 微信小程序版博客——开发汇总总结(附源码)
花了点时间陆陆续续,拼拼凑凑将我的小程序版博客搭建完了,这里做个简单的分享和总结. 整体效果 对于博客来说功能页面不是很多,且有些限制于后端服务(基于ghost博客提供的服务),相关样式可以参考截图或 ...
- 深入解析丨母婴App如何迅速收割2W新用户?
在讲案例前,我们需要先说一下精细化分析. 我们常说的精细化分析,就是一个持续"解构"的过程,通过像漏斗.留存.细分等高级分析功能,将"整体"按照事件属性解构成& ...
- Spark项目应用-电子商务大数据分析总结
一. 数据采集(要求至少爬取三千条记录,时间跨度超过一星期)数据采集到本地文件内容 爬取详见:python爬取京东评论 爬取了将近20000条数据,156个商品种类,用时2个多小时,期间中断数 ...
- 将百度地图Demo抽取出来安到自己的程序中
今日所学: 使用百度地图ADK实现手机定位 [Android]使用百度.高德.腾讯地图SDK获取定位数据与屏幕截图分享到QQ_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 代码获取SHA1 (2 ...
- C# 一个基于.NET Core3.1的开源项目帮你彻底搞懂WPF框架Prism
--概述 这个项目演示了如何在WPF中使用各种Prism功能的示例.如果您刚刚开始使用Prism,建议您从第一个示例开始,按顺序从列表中开始.每个示例都基于前一个示例的概念. 此项目平台框架:.NET ...
- Ncrystal Skill设计
在使用allegro时一般都会听说过skill,使用合适的Skill会使事情事半功倍.但是现阶段所能看到的个人白嫖的Skill都有一些通病.所以我才开发符合自己操作习惯的Skill. 当前我们所能找的 ...
- 两数之和II_LeetCode_167_1099
LeetCode_167原题链接:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/ LeetCode_1099原题链 ...
- ctx.createCircularGradient is not a function
正确 const grd = ctx.createCircularGradient(75, 50, 50) grd.addColorStop(0, 'red') grd ...
- Hyperledger Fabric 部署在多个主机上
前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council ...
- 【面试普通人VS高手系列】HashMap是怎么解决哈希冲突的?
常用数据结构基本上是面试必问的问题,比如HashMap.LinkList.ConcurrentHashMap等. 关于HashMap,有个学员私信了我一个面试题说: "HashMap是怎么解 ...