正确 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'

python第一次上机遇到的困难的更多相关文章

  1. C++ 第一次上机作业

    今天完成了C++第一次上机作业,感觉比较简单. 题目: 求2个数或3个正整数中的最大数,用带有默认参数的函数实现. 对3个变量按由小到大顺序排序,要求使用变量的引用. 编写一个程序,用同一个函数名对几 ...

  2. Java第一次上机实验源代码

    小学生计算题: package 第一次上机实验_; import java.util.*; public class 小学计算题 { public static void main(String[] ...

  3. Python语言上机题实现方法(持续更新...)

    Python语言上机题实现方法(持续更新...) 1.[字符串循环左移]给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a'.'b' ...

  4. 题解:2018级算法第一次上机 C1-pair

    题目描述 北航2018级软件学院算法分析与设计第一次上机第三题 样例 实现解释 题目类型: 这类题目其实就是典型的递归分析语句形式的问题,也是编译原理课程中语法分析的重要方法之一. 解决方案: 为了解 ...

  5. [旧博客]Python 第一次

    决定学习Python,发现其需要安装的东西很小,只需要在官方网站下载和15MB左右的安装包,Python for windows.安装完毕就双击IDE快捷方式就打开IDE了. 你很发现IDE好像很面熟 ...

  6. SDN第一次上机作业

    作业链接 用字符命令生成拓扑,并测试连通性,截图 sudo mn --topo tree,fanout=3,depth=2 用可视化界面生成拓扑,并测试连通性,截图 用Python脚本生成一个Fat- ...

  7. 第一次上机,HTML静态网页的开发

    <html> <head> <title>第一次上级,cyy</title> </head> <body> <h3 ali ...

  8. Python第一次写的代码

    #!/bin/bash/env python # -*- coding:utf-8 -*- #function:输出1-10每隔1秒 import time start = 1 flag = True ...

  9. python第一次周末大作业

    #############################作业############################# 1. 三次登录验证 完成用户登录验证 要求: 1. 系统自动生成4位随机数. ...

随机推荐

  1. jquery获取节点的时候获取包含自己在内的HTML标签

    jquery获取某个标签的html()方法的时候总是只能获取内部的 如果获取包含自身的HTML代码呢? 用.prop("outerHTML")方法获取 <div id=&qu ...

  2. datasorttable表格

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  3. MySQL忘记密码 办法

    在my.ini配置文件中,[mysqld]下面加上一句话,skip-grant-tables:然后重启mysql ,在cmd 页面中,直接进入mysql数据库 mysql -uroot -p不需要输入 ...

  4. jQuery基本知识体系图

    在w3school学习了jQuery,觉得看了一遍,代码敲了一遍,大概的知识点记住了,不过觉得还是把这些知识点,放到一张图上,形成自己的jQuery的知识体系.能做到,一看到jQuery,脑海就浮现j ...

  5. FC网络学习笔记02 -网络配置方法

    随着新一代飞机的综合化航电系统对通信需求的不断提高,传统的ARINC429.1553B总线的传输速率分别只有100Kbps和1Mbps,其带宽已远远不 论文联盟 http://Www.LWlm.cOm ...

  6. linux IO 内核参数调优 之 原理和参数介绍

    1.  page cache linux操作系统默认情况下写都是有写缓存的,可以使用direct IO方式绕过操作系统的写缓存.当你写一串数据时,系统会开辟一块内存区域缓存这些数据,这块区域就是我们常 ...

  7. 第一篇:web之前端之html

    前端之html   前端之html 本节内容 前端概述 html结构 标签探秘 <!DOCTYPE html>标签 head标签 body标签 1.前端概述 一个web服务的组成分为前端和 ...

  8. 探索开发跨平台移动App,谈Jquery Mobile 和PhoneGap应用

    随着智能手机等设备的大范围普及,各形各色的移动端软件随之既出.各互联网运营商也都在抢占移动软件的占有率.不惜采用财力进行宣传推广.例如,通过手机淘宝客户端购买物品总比pc端要便宜,360手机助手下载对 ...

  9. C#语法糖之第五篇: 泛型委托- Action<T>

    因为工作的原因(其实还是个人的惰性)昨天没有给大家分享文章,然后这几天也有很多园友也提出了他们报告的意见及指导,再次感谢这些兄弟们的照顾我 和支持,这个分类的文章我当时想的是把我的学习经验和工作中用到 ...

  10. Android开发手记(18) 数据存储三 SQLite存储数据

    Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 SQLite 是以嵌入式为目的 ...