• Python:程序练习题(二)


    Python:程序练习题(二)

    2.1温度转换程序。

     

    代码如下:

    t=input("请输入带符号的温度值(如:32C):")
    
    if t[-1] in ["C","c"]:
    
        f=1.8*float(t[0:-1])+32
    
        print("转换后的温度为:%.0fF"%f)
    
    elif t[-1] in ["F","f"]:
    
        c=(float(t[0:-1])-32)/1.8
    
        print("转换后的温度为:%.0fC"%c)
    
    else:
    
        print("输入错误!")

     

    知识点整理:

    1.t[-1]表示取输入值的倒数第一个元素,此处是取最后一个字符(C/c/F/f)。

    2.t[0:-1]表示第一个元素到倒数第二个元素的切片,简单的说,就是表示除最后一个字符以外的字符串。

    3.%.0f表示取整,%f指输出变量f

     

    运行结果:

     

     

     

    上面可以看到,只输入数字会显示错误,而只输入符号会怎么样呢?让我们试着输入一个符号,结果显示如下。

     

    出错的原因是无法将字符型变量转换为浮点型float,因此无法进行计算。

    现修改实例2.1,采用eval(input(<提示内容>))替换现有输入部分,并使输出的温度值为整数。

     

    代码如下:

    t = eval(input('请输入温度值(无单位):'))
    
    d = input('请输入单位:')
    
    if d in ['f', 'F']:
    
        c = (t - 32)/1.8
    
        print('转换后的温度为:{:.0f}C'.format(c))
    
    elif d in ['c', 'C']:
    
        f = 1.8*t + 32
    
        print('转换后的温度为:{:.0f}F'.format(f))
    
    else:
    
        print('输入错误!')

     

    运行结果:

     

    2.2汇率兑换程序。按照温度转换程序的设计思路,按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序。

     

    代码如下:

    t=input("请输入带单位的金钱数(如30¥):")
    
    if t[-1] in [""]:
    
        m=eval(t[:-1])/6
    
        print("兑换后为:{:.2f}$".format(m))
    
    elif t[-1] in ["$"]:
    
        r=6*eval(t[:-1])
    
        print("兑换后为:{:.2f}¥".format(r))
    
    else:
    
        print("输入错误!")

    知识点整理:

    1.eval(<字符串>)函数能够以Python表达式的方式解析并执行字符串,并将返回结果输出。

    2.Python语言中,字符串通过format()方法进行格式化处理。

      format方法的基本使用格式如下:

        <字符串>.format(<逗号分隔的参数>)

    print("{}".format(m)),其中{}输出的是m的值。

     

     

    运行结果:

     

     

    4.4猜数游戏。

     

    代码如下:

    import random
    
    w=0#定义w并初始化
    p=random.randint(0,100)
    N=0
    
    while w!=p:
    
        N+=1
    
        #这句不能单独拿出while循环外,否则会无限循环
        w=int(input('请输入一个0-100之间的整数:'))
    
        if w>p:
            print('遗憾,太大了!')  
        elif w<p:
            print('遗憾,太小了!')
        else:
            print('预测'+str(N)+'次,你猜中了!')
            break        

     

    知识点整理:

    1.random库采用梅森旋转算法生成伪随机数序列,提供了不同类型的随机数函数,所有函数都是基于最基本的random.random()函数扩展实现。

    2.randint(a,b)random库的常用函数之一,用于生成一个[a,b]之间的整数。

    3.str(N)是将N的数据类型转换为String类型,因为python拼接字符串比较特殊,无法自动转换数据类型。

    4.break用来跳出最内层forwhile循环,脱离该循环后程序从循环代码后继续执行。

     

     

    运行结果:

     

  • 相关阅读:
    Asp.net 动态添加Meta标签
    【转】在SharePoint Server 2010中更改“我的网站”
    SPQuery DateTime 类型查询
    Asp.net Web Application 打开 SharePoint 2010 Site 错误 The Web application at could not be found
    How To Create SharePoint 2010 Site Collection In Its Own DB
    C# 文件打印
    面试题 java集合
    《深入理解Java虚拟机》(六)堆内存使用分析,垃圾收集器 GC 日志解读
    《深入理解Java虚拟机》(五)JVM调优
    《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
  • 原文地址:https://www.cnblogs.com/BIXIABUMO/p/11600873.html
Copyright © 2020-2023  润新知