正确 10 58 27412

2-1019 长度转换程序(10分)

完善下面的程序,能够:
(1) 将用户输入的公制长度单位(米、千米)转换成英制长度单位(英寸、英里);
(2) 将用户输入的英制长度单位(英寸、英里)转换成公制长度单位(米、千米);
(3) 将转换结果输出到屏幕上。
提示: 
长度单位:1 英寸=2.5400 厘米      1 英里 =1.6093 千米
这是老师的程序,在前面输入都是合法数值的时候能正确运行,请完善, 保证前面任意输入的情况下都能正确处理

length=raw_input()
if length[-4:] in ['Inch','INCH','inch']:
    l=eval(length[0:-4])*0.0254
    print 'The length is %fm' %l
elif length[-4:] in ['mile','Mile','MILE']:
    l=eval(length[0:-4])*1.6093
    print 'The length is %fkm' %l
elif length[-2:] in ['km','KM','Km']:
    l=eval(length[0:-2])/1.6093
    print 'The length is %fmile' %l
elif length[-1] in ['m','M']:
    l=eval(length[0:-1])/0.0254
    print 'The length is %finch' %l
else:
print 'Error'

输入格式:

输入数量及单位,例如:1inch

或者输入一串非法字符串,例如:111asdkfljlka123156sdinch

输出格式:

输出提示及结果,例如:The length is 0.025400m,注意小数位数和空格的位置

如果遇到非法字符串,则输出:Error

主要是判断非法字符

length=raw_input()
if length[-4:] in ['Inch','INCH','inch']:
    if(length[0:-4].isdigit()==True):
        l=eval(length[0:-4])*0.0254
        print 'The length is %fm' %l
    else:
        print'Error'
elif length[-4:] in ['mile','Mile','MILE']:
    if(length[0:-4].isdigit()==True):
        l=eval(length[0:-4])*1.6093
        print 'The length is %fkm' %l
    else:
        print'Error' 
elif length[-2:] in ['km','KM','Km']:
    if(length[0:-2].isdigit()==True):
        l=eval(length[0:-2])/1.6093
        print 'The length is %fmile' %l
    else:
        print'Error'
elif length[-1] in ['m','M']:
    if(length[0:-1].isdigit()==True):
        l=eval(length[0:-1])/0.0254
        print 'The length is %finch' %l
    else:
        print'error'
else:
    print 'Error'

最新文章

  1. 改用C++生成自动化数据表
  2. 【原】JS原型的动态性及实例与原型的关系
  3. [HihoCoder] Highway 高速公路问题
  4. wordpress无法安装这个包。: PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:\WINDOWS\TEMP/wordpress-4.tmp'
  5. 怎样查看MySql数据库物理文件存放位置
  6. Android(java)学习笔记232:Android进程间通讯(IPC)之AIDL
  7. 如何让HTML的编写更具结构性
  8. Visual Studio 2010 使用 ankhsvn
  9. STM32F446 OTG_FS_DP/DM调试
  10. Ranklib源码剖析--LambdaMart
  11. Android轶事之View要去大保健?View大小自己决定?
  12. 服务注册中心,Eureka比Zookeeper好在哪里?
  13. 树莓派mariadb 设置密码
  14. cocos源码分析--RenderTexture
  15. dubbo 实战
  16. WWDC 2015 苹果发布会 笔记
  17. LPC43XX TQFP144 IO Pinout
  18. springboot中使用Scheduled定时任务
  19. JS图片滚动代码(无缝、平滑)
  20. MySQL 类型转换

热门文章

  1. MongoDB 复制集 (三) 内部数据同步
  2. word模版另存为网页(*.htm,*.html),转为jsp页面并加入数据后导出成word
  3. [Node] 逃离回调地狱
  4. CAS协议 - CAS URIs
  5. 使用Inputstream读取文件
  6. android 71 ArrayAdapter和SimpleAdapter
  7. CGI初识
  8. gulp 前端自动化工具
  9. 3、bootstrap3.0 栅格偏移 布局中的一个特产
  10. 【转】Java中equals和==的区别