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. Play on Words UVA - 10129

    题目: Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has ...

  2. poj 1984 Navigation Nightmare(带权并查集+小小的技巧)

    题目链接:http://poj.org/problem?id=1984 题意:题目是说给你n个线,并告知其方向,然后对于后面有一些询问,每个询问有一个时间点,要求你输出在该时间点a,b的笛卡尔距离,如 ...

  3. 技术漫谈 | 远程访问和控制云端K8S服务器的方法

    对于部署在云端的K8S容器编排系统,可以先通过SSH远程登录到K8S所在主机,然后运行kubectl命令工具来控制K8S服务系统.然而,先SSH登录才能远程访问的二阶段方式,对于使用Linux桌面或者 ...

  4. POJ 2488 A Knight's Journey (DFS)

    poj-2488 题意:一个人要走遍一个不大于8*8的国际棋盘,他只能走日字,要输出一条字典序最小的路径 题解: (1)题目上说的"The knight can start and end ...

  5. 【Redis】SpringBoot+Redis+Ehcache实现二级缓存

    一.概述 1.1 一些疑惑? 1.2 场景 1.3 一级缓存.两级缓存的产生 1.4 流程分析 二.项目搭建 一.概述 1.1 一些疑惑? Ehcache本地内存 Redis 分布式缓存可以共享 一级 ...

  6. Cycone IV的DDR2硬件设计前验证

    打算使用Cyclone IV的FPGA挂DDR2,按照流程,先使用Quartus跑IP,跑引脚分配,综合OK了再设计硬件,这部分主要是DM和DQS信号比较头疼,研究了好久才找到方法. 在Intel官网 ...

  7. 去重合并两个有序链表之直接操作和Set集合操作

    两者思路对比: 直接操作:因为传入的是两个有序的链表,所以说我就直接以其中一个链表为基准,与另外一个链表比较,只将比返回值链表的最后一个记录的值大的插入,不将等值的插入,理论时间复杂度为O(n) Se ...

  8. Android-WebView支持input file启用相机/选取照片

    webview要调起input-file拍照或者选取文件功能,可以在webview.setWebChromeClient方法中重写指定的方法,来拦截webview的input事件,并做我们相应的操作. ...

  9. MySQL二进制日志挖掘器BinlogMiner 1.0发布了。

    MySQL从2014年开始超越SQL Server, 占据DB-Engines数据库流行度排行榜第二名, 是一种非常流行的关系型数据库, 特别是在互联网领域, 是一种应该掌握的数据库系统.最近在学My ...

  10. WPF 自定义UI控件学习

    最近项目中运用到了WPF处理三维软件,在C/S结构中WPF做UI还是有很多优越性,简单的学了一点WPF知识,成功的完成项目目标.项目过度阶段对于WPF的一些基本特点有了进一步了解 .至此花费一点时间研 ...