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. 谷歌chrome浏览器vue调试工具vue-devtools的安装

    先导 vue-devtools是一款基于chrome浏览器的插件,用于vue应用的调试,这款vue调试神器可以极大地提高我们的调试效率.帮助我们快速的调试开发vue应用. 第一步: 我们可以先从git ...

  2. git编译安装

    因yum安装的git版本过低,所以尝试使用编译安装git 以下为编译安装时执行的命令 tar xf git-2.9.5.tar.gz cd git-2.9.5yum install curl-deve ...

  3. 腾讯云cos对象在线显示

    问题 前端使用了一张cos的图片,但是无法显示图片,使用的是cdn的加速域名地址. 对比:使用服务器的直接域名是可以显示的. 两者地址直接访问时,一者在线显示,一者直接下载到本地. 原因: 使用默认提 ...

  4. 【转】Python高级知识点总结

    一.可迭代对象.迭代器对象和生成器 像list, tuple等这些序列是可以使用for...in ...语句来进行遍历输出的.这是为什么呢?这就需要知道可迭代对象(Iterable).迭代器对象(It ...

  5. css多行省略

    单行省略就不用说了,用css实现非常简单,兼容性还非常好.但是多行省略一直都是前端的痛点,在css3之前,可以用js去算两行能放多少个字,把多余的字用 ... 代替,且不说好不好,万一哪天PM说要改成 ...

  6. Log4j配置发邮件功能

    # 发送日志到指定邮件log4j.appender.mail=org.apache.log4j.net.SMTPAppenderlog4j.appender.mail.Threshold=DEBUGl ...

  7. Unity 中实现粒子系统的 LOD

    模型的 LOD 比较简单,直接使用 Unity 提供的组件 LODGroup 挂到模型物体上,然后分别指定不同 LOD 级别的 Renderer 即可. LODGroup 并不是用距离来控制 LOD, ...

  8. SqlServer高版本数据备份还原到低版本(转)

    原文地址:https://www.jb51.net/article/96454.htm 想要将Sqlserver2014高版本备份的数据还原到低版本SqlServer2008R2上去,但是这在SqlS ...

  9. 工控随笔_20_西门子_WinCC的VBS脚本_09_常量和流程控制_02

    vbs不但提供了分支结构,还提供了丰富的循环形式.一共有3种循环: 1.for循环 2.do...loop循环 3.while循环 各种循环有各自的特点,在使用的时候可以进行转换. 前面已经描述过Fo ...

  10. C#中基于GDI+(Graphics)图像处理系列

    https://blog.csdn.net/lhtzbj12/article/details/54024821