p121:

*题4.1:猜数字游戏。在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了!”;小于预设的数,显示“遗憾,太小了!”,如此循环,直至猜中该数,显示“预测N次,你猜中了!”,其中N是用户输入数字的次数。

源代码:

from random import*
y=5
n=1
m=False
while(m==False):
    x=eval(input("请输入您猜想的数字:"))
    try:
        if(x>y):
            print("遗憾!太大了!")
            n+=1
            m=False
        elif(x<y):
            print("遗憾!太小了!")
            n+=1
            m=False
        else:
            print("预测{}次,你猜中了!".format(n))
            m=True
    except NameError :
        print("请输入一个整数!")
    except:
        print("其他错误!")

运行结果:

*题4.2:统计不同字符个数。用户从键盘输入一行字符,编写一个程序,统计并输出其中的英文字符、数字、空格和其他字符的个数。

源代码:

x1,x2,x3,x4=0,0,0,0#数字x1,英文x2,空格x3,其他x4
s=input("请任意输入一段字符:")
l=len(s)
i=0
try:
    while(i<l):
        if(0<=ord(s[i])<32):
            x4=x4+1
            i+=1
        elif(ord(s[i])==32):
            x3+=1
            i+=1
        elif(32<ord(s[i])<48):
            x4=x4+1
            i+=1
        elif(47<ord(s[i])<58):
            x1+=1
            i+=1
        elif(57<ord(s[i])<65):
            x4=x4+1
            i+=1
        elif(64<ord(s[i])<91):
            x2=x2+1
            i+=1
        elif(90<ord(s[i])<97):
            x4=x4+1
            i+=1
        elif(96<ord(s[i])<123):
            x2=x2+1
            i+=1
        elif(122<ord(s[i])<128):
            x4=x4+1
            i+=1
    print("数字有{},字母有:{},空格有:{},其他有:{}".format(x1,x2,x3,x4))
except:
    print("未知错误!")

运行结果:

*题4.4:猜数字游戏续。改编程序练习题4.1,让计算机能够随机产生一个预设数字,范围在0~100之间,其他游戏规则不变。

源代码:

from random import*
y=randint(0,100)
n=1
m=False
while(m==False):
    x=eval(input("请输入您猜想的数字:"))
    try:
        if(x>y):
            print("遗憾!太大了!")
            n+=1
            m=False
        elif(x<y):
            print("遗憾!太小了!")
            n+=1
            m=False
        else:
            print("预测{}次,你猜中了!".format(n))
            m=True
    except NameError :
        print("请输入一个整数!")
    except:
        print("其他错误!")

运行结果:

python语言程序设计基础(嵩天)第四章课后习题部分答案的更多相关文章

  1. python语言程序设计基础(第二版)第五章答案随笔

    1.实现isOdd()函数,参数为整数,如果整数是奇数,返回True,否则返回False def isOdd(num):    if num % 2 == 0:        return True  ...

  2. C语言程序设计·谭浩强(第四版)第二章课后习题的答案,算法——程序的灵魂

    C语言程序小练习 1.用C语言设计程序算出1-1/2+1/3-14+1/5...+1/99-1/100的值 #include<stdio.h> int main() { ; double ...

  3. python语言程序设计基础(嵩天)第二章课后习题

    p56: *2.1 实例1的修改.改造实例代码1.1,采用eval(input(<提示内容>))替换现有输入部分,并使输出的温度值为整数. 源代码: TempStr=input(" ...

  4. python语言程序设计基础(嵩天)第三章课后习题部分个人练习

    p69: *题3.5: 源代码: (1)print(30-3**2+8//3**2*10)     答案:21 (2)print(3*4**2/8%5)     答案:1.0 (3)print(2** ...

  5. python语言程序设计基础 习题 天天向上的力量(math.pow)

    实例1: 一年365天,,以第一天的能力值为基数1.0,当好好学习时能力值相比前一天提高1%,没有学习时能力值相比前天要降低1%,每天努力和每天放任,一年下来的能力值相差多少? 解析: 如果每天都好好 ...

  6. Python语言程序设计基础(4)—— 程序的控制结构

    PM2.5 pm = eval(input()) if pm>=75: print("空气存在污染") else : print("空气没有污染") pr ...

  7. Python语言程序设计基础(7)—— 文件和数据格式化

    返回字符串 file = input() #返回字符串 fo = open(file,"r").read(6) print(fo) 返回列表形式 file = input() fo ...

  8. Python语言程序设计基础(6)—— 组合数据类型

    tuple 元组(创建后不能修改) tuple = "cat","dog","tiger","human" print( ...

  9. Python语言程序设计基础(5)—— 函数和代码复用

    lambda sum = lambda x,y : x + y print(sum(3,3),type(sum)) 默认参数 def prints(str,times = 2) : print(str ...

随机推荐

  1. 通过CMD命令窗口获取django版本号

    通过CMD命令窗口获取django版本号 方法一: C:\Users\Administrator>python >>> import django >>> d ...

  2. mybatis plus使用redis作为二级缓存

    建议缓存放到 service 层,你可以自定义自己的 BaseServiceImpl 重写注解父类方法,继承自己的实现.为了方便,这里我们将缓存放到mapper层.mybatis-plus整合redi ...

  3. Airflow: TypeError can't pickle memoryview objects

    apache-airflow1.9.0 + python3 + rabbitmq + librabbitmq2.0.0 相关配置如下: broker_url = amqp://cord:123456@ ...

  4. Spring Boot应用上传文件时报错

    问题描述 Spring Boot应用(使用默认的嵌入式Tomcat)在上传文件时,偶尔会出现上传失败的情况,后台报错日志信息如下:"The temporary upload location ...

  5. SpringCloud微服务笔记-Nginx实现网关反向代理

    背景 当前在SpringCloud微服务架构下,网关作为服务的入口尤为重要,一旦网关发生单点故障会导致整个服务集群瘫痪,为了保证网关的高可用可以通过Nginx的反向代理功能实现网关的高可用. 项目源码 ...

  6. ORA-08102异常重现及恢复

    现象: 在表上面新建主键报ORA-08102的异常: SQL> alter table t add primary key(id); alter table t add primary key( ...

  7. 记一次处理mysql数据库无故锁表的经历

    某日,生产环境上的用户表突然无故锁表,原以为只是偶发的bug.所以第一时间想到的解决方案简单粗暴:重启数据库(service mysqld restart).问题得以解决. 10min后,该表再次锁表 ...

  8. ASP.NET Core 3.0 gRPC 双向流

    目录 ASP.NET Core 3.0 使用gRPC ASP.NET Core 3.0 gRPC 双向流 ASP.NET Core 3.0 gRPC 认证授权 一.前言 在前一文 <ASP.NE ...

  9. Transformer各层网络结构详解!面试必备!(附代码实现)

    1. 什么是Transformer <Attention Is All You Need>是一篇Google提出的将Attention思想发挥到极致的论文.这篇论文中提出一个全新的模型,叫 ...

  10. 3D 飞行器航迹规划

    3D-Route-Planning 三维航迹规划 -Matlab 本次代码主要解决数学建模中多约束条件下的航迹规划问题 解决的问题如下:   复杂环境下航迹快速规划是智能飞行器控制的一个重要课题.由于 ...