python实战:用70行代码写了一个山炮计算器!
python实战训练:用70行代码写了个山炮计算器!
好了。。。好了。。。各位因为我是三年级而发牢骚的各位伙伴们,我第一次为大家插播了python的基础实战训练。这个,我是想给,那些python基础一般,却想赶紧编出点东西的青年们。好吧,老规矩,先献出代码。
import time
def math_add(x,y): print('add:',x+y) def math_minus(n,m):
print('minus:',n-m) def math_time(a,b): print('time:',int(a)*int(b))
def timer():
import time
time = time.time() print(time) def math_divide(p,o):
print(p/o) def math_squar(x,y): print('add:',x**y)
def math_divide_a(x,y): print('divide:',x//y)
print('remainder:',x%y)
def math_divide_remainder(x,y): print('remainder:',x%y) for i in range(10):
aea = input('what you want to math?')
if aea == '+':
aea1 = int(input('x='))
aea2 = int(input('y='))
math_add(aea1,aea2) elif aea == '-':
aea01 = int(input('x='))
aea02 = int(input('y='))
math_minus(aea01,aea02) elif aea == '*':
aea01 = int(input('x='))
aea02 = int(input('y='))
math_time(aea01,aea02) elif aea == '/':
aea01 = int(input('x='))
aea02 = int(input('y='))
math_divide(aea01,aea02) elif aea == '**': aea01 = int(input('x='))
aea02 = int(input('y='))
math_squar(aea01,aea02)
elif aea == '//': aea01 = int(input('x='))
aea02 = int(input('y='))
math_divide_a(aea01,aea02)
elif aea == '%': aea01 = int(input('x='))
aea02 = int(input('y='))
math_divide_remainder(aea01,aea02)
elif aea == 'time': timer() elif aea=='out of':
break
else:
print('please read you math!!!')
好了。。我现在告诉大家,编写函数式计算器的所需知识:
一、if else elif 判断
二、数学运算
三、变量的存储
四、input用户输入的认识
五、函数与函数式编程的大体了解和函数的操作
然后呢,我将为大家讲一下实战。
首先,我们将定义几个函数。
def add(x,y):
add = x+y
print(add)
return x,y
def minus(x,y):
minus = x-y
print(minus)
return x,y
def time(x,y):
time = x*y
print(time)
return x,y
def divide(x,y):
divide = x/y
print(divide)
return x,y
本个实战项目的内容是,通过x值和y值进行加减乘除、求余数、整除运算。这次写的代码,我就暂时不说求余数和整除运算了。
第一个函数,加法函数,里面带了两个参数,之后我们会通过用户输入进行传参数。
第二个函数,减法函数,里面也是一样的,也是通过用户输入传参数。
我们把结果赋给了一个和函数同名的变量,并且return返回了x值以及y值。这样的话,稍微稍微改一点点代码,print打印一下这个函数,再把变量传进去,就可以执行了。
大家应该都懂了吧?好,下一步,就是用户输入和判断了。
user_type = input('type you want to math:')
你输入完运算符号,就来到了计算判断了。
if user_type == "+":
x = input(x:)
y = input(y:)
add(x,y)
elif user_type == "-:
x = input(x:)
y = input(y:)
minus(x,y)
elif user_type == '*‘:
x = input(x:)
y = input(y:)
time(x,y)
elif user_type =='/':
x = input(x:)
y = input(y:)
divide(x,y)
else:
print("这是什么玩意?")
判断运算符
这样,你的程序就写完了。还有,我觉得你应该加个while循环,然后再多elif一个判断,输入“out”就break。
好了,我们得跑一次。
跑的非常成功。
好了,谢谢大家长期以来对我的支持。
python实战:用70行代码写了一个山炮计算器!的更多相关文章
- 50行代码写的一个插件,破解一个H5小游戏
小游戏链接:测测你的眼睛对色差的辨识度http://www.webhek.com/post/color-test.html?from=timeline 废话不多说,先放代码: window.onloa ...
- HTML5游戏实战之20行代码实现打地鼠
之前写过一篇打地鼠的博客70行的代码实现打地鼠游戏,细致思考过后,发现70行代码都有点多余了,应用tangide的控件特性,能够将代码量缩减到20行左右. 先show一下终于成果,点击试玩:打地鼠.或 ...
- JS函数 编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数。
编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数. 任务 第一步: 编写代码完成一个函数的定义吧. 第二步: 我们来补充函数体中的控制语句,完成函数功能吧. 提示: ...
- Python爬虫教程(16行代码爬百度)
最近在学习python,不过有一个正则表达式一直搞不懂,自己直接使用最笨的方法写出了一个百度爬虫,只有短短16行代码.首先安装必背包: pip3 install bs4 pip3 install re ...
- 代码优化实战,3行代码解决了一百个if else!
事情是这样的,前段时间做代码review的时候,发现项目中有一个方法代码量超鸡儿多,而且大部分都是写的参数校验的代码,得,我们先抓着缕一缕需求先. 产品需求 找到产品要到了需求文档,需求是这样得: e ...
- 【编程教室】PONG - 100行代码写一个弹球游戏
大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引 ...
- HTML5游戏实战(4): 20行代码实现FlappyBird
这个系列很久没有更新了.几个月前有位读者调侃说,能不能一行代码做一个游戏呢.呵呵,接下来一段时间,我天天都在想这个问题,怎么能让GameBuilder+CanTK进一步简化游戏的开发呢.经过几个月的努 ...
- 为了完成这个功能,我竟然用5行代码制作了一个EXE可执行程序
由于用户访问我们某个网址的路径比较长,最后我们确定了在桌面添加快捷入口的方案,让用户点击快捷入口直接进入直接的网址,而且这个快捷入口要带有指定的logo(排除了新建url快捷方式的方案),所以我决定写 ...
- Python 70行代码实现简单算式计算器
描述:用户输入一系列算式字符串,程序返回计算结果. 要求:不使用eval.exec函数. 实现思路:找到当前字符串优先级最高的表达式,在算术运算中,()优先级最高,则取出算式最底层的(),再进行加减乘 ...
随机推荐
- sqlserver2008简介
sql 数据库简介 应该掌握的部分: 1. 数据库的基本概念 2. 数据库模型的基本概念 3. 实体联系模型的基本概念 4. 关系模型的基本概念和性质 5. 数据库优化理论 6. 掌握创建 ...
- 全志A33开发板的安卓控制LED-2-JNI基础
虽然您可以完全使用Java编写应用程序,但有些情况下Java本身并不能满足您的应用程序的需求.当应用程序不能完全用Java编写时,程序员使用JNI编写Java本机方法来处理这些情况. 以下示例说明何时 ...
- Boot Hill 布特山
发售年份 1977 平台 街机 开发商 Midway 类型 射击 https://www.youtube.com/watch?v=yFVZhSCjo6w
- Python 反射(reflection)
反射是指通过字符串映射或修改程序运行时的状态.属性.方法, 有以下4个方法 1.getattr(object, name, default = None) 根据字符串获取 obj 对象里对应 str ...
- docker-compose up使用自定义的网段的两种方式(从其根源指定)
问题描述 还是那个研究安全大业的同事,在部署他的秘密武器,是用docker-compose部署的,有差不多20多个docker-compose.yml文件,然后由于docker-com ...
- Windows7 Autoconfiguration IPv4 Address 导致无法上网
Windows7 Autoconfiguration IPv4 Address 导致无法上 (2010-03-30 16:44:57) 转载▼ 标签: 杂谈 分类: 电脑软件问题 Windows7 A ...
- 同一台电脑配置多个JBoss
在jboss中找到对应的文件,修改对应文件端口可解决两个以上jboss的端口冲突问题 不同的jboss修改的端口要区别开来,本例所用jboss版本为JBoss4.2.2.GA 文件端口: 8083,1 ...
- 常用Linux终端命令行的快捷键列表
终端有很多快捷键,不太好记,常用的在这里 Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r. Ctrl+a:光标回到命令行首. (a:ahead) Ctrl+e:光标 ...
- 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01
最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...
- 廖雪峰Java8JUnit单元测试-2使用JUnit-1使用Before和After
1. @Before和@After 同一个单元测试内的多个测试方法: 测试前都需要初始化某些对象 测试后可能需要清理资源fileInputStream.close() @Test public voi ...