正确 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. java +bootstrap table 完整例子

    需求:现在常用的table 插件很多, 比如 jquey datatables ,不过操作挺 麻烦, 看到推荐的bootstrap 自带的 table,就用到项目来,先看效果:

  2. spring applicationContext.xml 文件

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  3. Oracle DB 备份和恢复的概念

    • 确定Oracle DB 中可能发生的故障类型 • 说明优化实例恢复的方法 • 说明检查点.重做日志文件和归档日志文件的重要性 • 配置快速恢复区 • 配置ARCHIVELOG模式   部分工作内容 ...

  4. UVA 11551 - Experienced Endeavour(矩阵高速幂)

    UVA 11551 - Experienced Endeavour 题目链接 题意:给定一列数,每一个数相应一个变换.变换为原先数列一些位置相加起来的和,问r次变换后的序列是多少 思路:矩阵高速幂,要 ...

  5. 导入一个AndroidStudio工程作为一个Library Module

    尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/47441245 关注新浪微博:@于卫国 邮箱:yuweiguocn@gmai ...

  6. NDK开发之日志打印

    要在NDK中打印日志,只需要以下三步: 一.在Android.mk中添加以下内容: LOCAL_LDLIBS := -lm -llog 或者 LOCAL_LDLIBS:=-L$(SYSROOT)/us ...

  7. my_pnd_start

    终于有个雏形了,再给自己一些时间做做看吧.

  8. 【Android】数据存储-java IO流文件存储

    1.数据持久化:将在内存中的瞬时数据保存在存储设备中.瞬时数据:设备关机数据丢失.持久化技术提供一种机制可以让数据在瞬时状态和持久状态之间转换. 2.Android中简单的三种存储方式:文件存储.Sh ...

  9. 可变字典 NSMutableDictionary

    存到nsuesrDefault里面一个可变字典,然后用一个可变字典去接收. NSMutableDictionary *dic = [[NSUserDefaults standardUserDefaul ...

  10. Linux下安装Python pip

    在Python环境下,pip提供类似yum一样的下载方式,比easy_install方便的多. 1.下载get-pip.py wget https://bootstrap.pypa.io/get-pi ...