免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3535 | 回复: 4
打印 上一主题 下一主题

Python eval()函数报错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-04 17:00 |只看该作者 |倒序浏览
本帖最后由 jack_yanf 于 2015-05-04 17:15 编辑

#!/usr/bin/env  python

def leastCoin(coinNum):
      coin = [25,10,5,1]
      coinN = []
      for item in coin:
           coinN.append(eval(coinNum) / item)
           coinNum = eval(coinNum)% item
      return coinN

if __name__ == "__main__":
    coin = raw_input('Enter your coin num,Please!')
    coinN = leastCoin(coin)
    print 'The least coin for %d is 25:%d,10:%d,5:%d,1:%d' %(coin,coinN[0],coinN[1],coinN[2],coinN[3])
大神们给看看,运行的时候报错

本人刚刚接触python不久,问的问题可能过于简单,不过希望各位大神能够耐心的帮我解惑下,万分感谢。

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
2 [报告]
发表于 2015-05-04 17:16 |只看该作者
本帖最后由 haooooaaa 于 2015-05-04 17:17 编辑

你这个直接用 int  就可以了,

eval() 括号里面要表达式或者是变量名字符

比如  eval(2+3)

论坛徽章:
0
3 [报告]
发表于 2015-05-04 20:16 |只看该作者
回复 2# haooooaaa
用了int 好像不行,如果要输入float类型的也不行的吧,  eval()里面也是表达式呀,是取余和取摸呀


   

论坛徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16赛季CBA联赛之江苏
日期:2016-04-28 09:43:3115-16赛季CBA联赛之吉林
日期:2016-06-22 10:34:4315-16赛季CBA联赛之山西
日期:2016-08-16 16:29:55
4 [报告]
发表于 2015-05-05 12:03 |只看该作者
完全不明白你要干嘛....

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
5 [报告]
发表于 2015-05-21 16:39 |只看该作者
好像行的吧
  1. Enter your coin num,Please! 56
  2. The least coin for 56 is

  3. [(25, 2), (10, 0), (5, 1), (1, 1)]
复制代码
  1. def leastCoin(coinNum):
  2.     coin = [25, 10, 5, 1]
  3.     coinN = []
  4.     for item in coin:
  5.         coinN.append(coinNum / item)
  6.         coinNum = coinNum % item
  7.     return zip(coin, coinN)


  8. coin = input('Enter your coin num,Please! ')
  9. result = leastCoin(coin)

  10. print 'The least coin for %d is\n' % coin
  11. print result
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP