鱼C论坛

 找回密码
 立即注册
查看: 2896|回复: 12

用split()写计算器

[复制链接]
发表于 2014-10-13 21:08:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
书上有个练习,说写个简单计算器, 下面是我写的:

Screenshot from 2014-10-13 09:05:42.png

不过, 运行时, 要输入三次, 第一次输入第一个数字, 第二次输入符号, 而第三次再输入一个数字
我想, 能不能, 在同一行, 输入一个算式, 如:1 + 12, 按回车时出结果。
书上有提示 说用split(), 但不能用eval, 想不到怎么写, 虽然split能分割, 但也不知怎么分才好
有没有人提示一下?或写一个给我看看, 我刚学, 还有很多不懂, 望指教。

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-10-13 23:22:48 | 显示全部楼层
这样可否
for i in ['+','-','*','/']:
    if i == '+':
         ***.split('+')
         ......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-13 23:39:47 | 显示全部楼层
lizi4355 发表于 2014-10-13 23:22
这样可否
for i in ['+','-','*','/']:
    if i == '+':

那那个i, 怎么在算式: 1 + 12中提取出来呢
???
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-14 12:57:51 | 显示全部楼层
  1. num = input('计算:\n')
  2. if '-' in num:
  3.     num1 = num.split('-')
  4.     a = int(num1[0])
  5.     for x in range(1,len(num1)):
  6.         a -= int(num1[x])
  7.     print(a)
复制代码




不过这样不支持不同符号和括号的运算。
360截图20141014125902164.jpg

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-14 20:17:08 | 显示全部楼层
wei_Y 发表于 2014-10-14 12:57
不过这样不支持不同符号和括号的运算。

如果我输入2+1-1呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-14 20:21:16 | 显示全部楼层
喜欢散步 发表于 2014-10-14 20:17
如果我输入2+1-1呢?

就是说不支持不同符号嘛。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-14 21:23:21 | 显示全部楼层
喜欢散步 发表于 2014-10-14 20:17
如果我输入2+1-1呢?

那还不如一个一个输呢, 这种方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-14 23:05:51 | 显示全部楼层
喜欢散步 发表于 2014-10-13 23:39
那那个i, 怎么在算式: 1 + 12中提取出来呢
???

额。。。这样应该可以
for i in ['+','-','*','/']:
    if i == '+' and i in input:
        * = ***.split('+')
        for num in *:
                result += int(num)
         ......
写4个if。其实我也没试过,不知道可以不。。。:lol:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-18 21:59:14 | 显示全部楼层
想问一下是什么书? 我正在找python相关的题目
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-19 16:53:39 | 显示全部楼层
不错
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-10-20 17:05:42 | 显示全部楼层
zz33125915 发表于 2014-10-18 21:59
想问一下是什么书? 我正在找python相关的题目

PDF,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-20 17:06:31 | 显示全部楼层
lizi4355 发表于 2014-10-14 23:05
额。。。这样应该可以
for i in ['+','-','*','/']:
    if i == '+' and i in input:

我初看, 看不明你写的啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-11-1 04:11:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-16 17:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表