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函数. 实现思路:找到当前字符串优先级最高的表达式,在算术运算中,()优先级最高,则取出算式最底层的(),再进行加减乘 ...
随机推荐
- 尝试ipad编程 以失败告终
浏览器选择: safari,iOS内置浏览器,好用,不过有些限制 iPad上的 safari可以把网页保存为pdf,比iphone上的功能强大多了 qq浏览器用来下载文件,之后文件还可以复制到文件管理 ...
- SignalR 行实时通信最大连接数
SignalR 搭建实时刷新应用虽然非常方便,但是有个问题你必须考虑到,就是一般的浏览器,对于SignalR的全双工通信方式,绝大多数浏览器都只支持6个新窗口,如果你打开第7个,那么新的框口页面是不会 ...
- numpy 和tensorflow 中的乘法
矩阵乘法:tf.matmul() np.dot() ,@ 逐元素乘法:tf.multiply() np.multiply()
- 路径规划(1)--连接GPS接收端
从淘宝上入手的GPS接收端U-BLOX M8N,带UART串口连接线. 一.打开树莓派上的UART串口通信 1.下载pi3-miniuart-bt-overlay.dtb,并将dtb文件拷贝到/boo ...
- WebApi Owin OAuth
Microsoft.Owin.Host.SystemWeb Owin Microsoft.Owin Microsoft.Owin.Diagnostics Owin Micros ...
- linux下钉钉,微信
google-chrome --app=https://im.dingtalk.com/ google-chrome --app=https://wx.qq.com/
- JS中冒号的作用
JS中冒号的作用1.声明对象的成员2.switch语句分支3.三元表达式 1.声明对象的成员 var Book = { Name: '法', Price: 100, Discount : functi ...
- JavaScript 集合对象
1. 集合对象 1.1 Object 关于Object类型的创建和底层存储原理我在另一篇文章有说明: JavaScript 对象属性底层原理 我们知道了大多数情况下Object底层都是Hash结构,我 ...
- Linux系统编程——水平触发和边沿触发
事件模型 EPOLL事件有两种模型: Edge Triggered (ET) 边缘触发只有数据到来才触发,不管缓存区中是否还有数据. Level Triggered (LT) 水平触发只要有数据都会触 ...
- 提问:MicrosoftUnderlying input stream returned zero bytes
报错信息:MicrosoftUnderlying input stream returned zero bytes 报错截图: 查阅资料后,提示 jdbc的bug,不能将一个"NULL&qu ...