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行代码写了一个山炮计算器!的更多相关文章

  1. 50行代码写的一个插件,破解一个H5小游戏

    小游戏链接:测测你的眼睛对色差的辨识度http://www.webhek.com/post/color-test.html?from=timeline 废话不多说,先放代码: window.onloa ...

  2. HTML5游戏实战之20行代码实现打地鼠

    之前写过一篇打地鼠的博客70行的代码实现打地鼠游戏,细致思考过后,发现70行代码都有点多余了,应用tangide的控件特性,能够将代码量缩减到20行左右. 先show一下终于成果,点击试玩:打地鼠.或 ...

  3. JS函数 编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数。

    编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数. 任务 第一步: 编写代码完成一个函数的定义吧. 第二步: 我们来补充函数体中的控制语句,完成函数功能吧. 提示: ...

  4. Python爬虫教程(16行代码爬百度)

    最近在学习python,不过有一个正则表达式一直搞不懂,自己直接使用最笨的方法写出了一个百度爬虫,只有短短16行代码.首先安装必背包: pip3 install bs4 pip3 install re ...

  5. 代码优化实战,3行代码解决了一百个if else!

    事情是这样的,前段时间做代码review的时候,发现项目中有一个方法代码量超鸡儿多,而且大部分都是写的参数校验的代码,得,我们先抓着缕一缕需求先. 产品需求 找到产品要到了需求文档,需求是这样得: e ...

  6. 【编程教室】PONG - 100行代码写一个弹球游戏

    大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引 ...

  7. HTML5游戏实战(4): 20行代码实现FlappyBird

    这个系列很久没有更新了.几个月前有位读者调侃说,能不能一行代码做一个游戏呢.呵呵,接下来一段时间,我天天都在想这个问题,怎么能让GameBuilder+CanTK进一步简化游戏的开发呢.经过几个月的努 ...

  8. 为了完成这个功能,我竟然用5行代码制作了一个EXE可执行程序

    由于用户访问我们某个网址的路径比较长,最后我们确定了在桌面添加快捷入口的方案,让用户点击快捷入口直接进入直接的网址,而且这个快捷入口要带有指定的logo(排除了新建url快捷方式的方案),所以我决定写 ...

  9. Python 70行代码实现简单算式计算器

    描述:用户输入一系列算式字符串,程序返回计算结果. 要求:不使用eval.exec函数. 实现思路:找到当前字符串优先级最高的表达式,在算术运算中,()优先级最高,则取出算式最底层的(),再进行加减乘 ...

随机推荐

  1. PythonStudy——装饰器 Decorator

    def outer(func): def inner(): print("新增功能1") func() print("新增功能2") return inner ...

  2. java8_api_xml

    xml处理-1    解析xml的两种方式    DOM主要接口介绍    使用DOM解析XML        解析(parse)是指读入一个文件,确认其有正确的格式,然后将其分解成各种元素,使开发者 ...

  3. vue- 项目之前端页面搭建1

    项目分析 首页 导航.登录注册栏.轮播图.地板导航登录注册 选项卡免费课 课程分类.筛选.课程列表免费课详情 课程封面视频.优惠活动倒计时.选项卡我的购物车 全选.商品价格统计购买结算 购买成功 我的 ...

  4. docker nginx letsencrypt

    https越来越流行了,但免费的证书一般是一年有效期.一般是够用了,但懒人都想一劳永逸, 有个免费证书颁发机构是letsencrypt.它是开源,并且完全免费的,它颁发的证书已经被几乎所有的浏览器所认 ...

  5. layui layui.open弹窗后按enter键不停弹窗问题的解决

    问题描述:layui.open弹窗后,点击enter键会不停弹窗,背景颜色变得越来越深 解决办法:1.使用回调函数让按钮失去焦点 var info = layer.open({ type: 2 , t ...

  6. 【环境部署】centos7安装mysql-5.7.19 group-replication

    --mysql高可用官方文档: https://dev.mysql.com/doc/refman/5.7/en/group-replication.html mysql下载地址: https://ww ...

  7. 多节点通过PPP连接,节点/用户/客户机之间互相访问ping

    多节点通过PPP连接,节点/用户/客户机之间互相访问ping 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-04-14. 有A, B, C 三台客户机,通过ppp虚拟拨号连接到服务 ...

  8. 更新 TeX Live 软件包

    这个 TeX Live 软件,你得时常更新一下,不然会遇到一些由软件包自身 Bug 导致的编译问题.比如,这次我使用 Beamer 软件包写演示文稿,就遇到问题了,结果发现是软件包自身存在的问题.安装 ...

  9. obtainFreshBeanFactory()源码探究

    该方法目的是获取bean工厂.主要逻辑是:刷新bean工厂,获取bean工厂,进而返回bean工厂,但实际上并没有刷新bean工厂,基本上为空实现.源码如下: 而刷新bean工厂,正如注释所说,do ...

  10. 利用rman duplicate重建oracle dataguard standby数据库

    问题背景 适用情况: 操作系统: redhat 6.5 数据库: oracle 11g r2 问题描述: failover后原主库无法恢复和启动或者丢失主备关系 优点 不需要对primary数据库停机 ...