我的编程空间,编程开发者的网络收藏夹
学习永远不晚

《Python核心编程》第五章

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

《Python核心编程》第五章

5-1.整型。讲讲Python普通整型和长整型的区别?

  答案:

   在大多数32位机器上,标准整型的取值范围是-2^31~2^31-1,如果在64位机器上使用64位编译器编译的Python,则整型是64位的。而长整型能表示的数值仅仅与机器支持的虚拟内存大小有关,长整型是标准整型的超集。

5-2.操作符。

(a)写一个函数,计算并返回两个数的乘积。

(b)写一段代码调用这个函数,并显示它的结果。

 答案:

(a)

def two(a,b):
    return a*b

(b)

def two(a,b):
    return eval(a)*eval(b)
a=raw_input('Enter a number:')
b=raw_input('Enter another number:')
print 'The answer is',two(a,b)

5-3.标准类型操作符。写一段脚本,输入一个测验成绩,根据下面的标准,输出评分成绩(A-F)。

A:90~100

B:80~89

C:70~79

D:60~69

F:<60

 答案:

def grade(g):
    if 90<=g<=100:
        return 'A'
    elif 80<=g<90:
        return 'B'
    elif 70<=g<80:
        return 'C'
    elif 60<=g<70:
        return 'D'
    else:
        return 'F'
g=int(raw_input('Enter your grade:'))
print 'Your ceping is',grade(g)


5-4.取余。判断给定的年份是否是闰年,使用下面的公式。

  一个闰年就是指它可以被4整除,但是不能被100整除,或者是它既可以被400整除。比如1992年﹑1996年和2000年是闰年,但1967年和1990年则不是闰年。下一个是闰年的整世纪是2400年。

  答案:(题目应该有错)

year=int(raw_input('Enter the year number that your want to test:'))
if (year%4==0 and year%100!=0) or (year%400==0):
    print 'This year is leap year.'
else:
    print 'This year is not leap year'


5-5取余。取一个任意小于 1 美元的金额,然后计算可以换成最少多少枚硬币。硬币有 1美分,5 美分,10 美分,25 美分四种。1 美元等于 100 美分。举例来说,0.76 美元换算结果应该是 3 枚 25 美分,1 枚 1 美分。类似 76 枚 1 美分,2 枚 25 美分+2 枚 10 美分+1 枚 5 美分+1枚 1 美分这样的结果都是不符合要求的。

  答案:

money=float(raw_input('Please input your money less than 1 dollar:'))
mon=money*100
while mon:
    a25=divmod(mon,25)
    a10=divmod(a25[1],10)
    a5=divmod(a10[1],5)
    a1=divmod(a5[1],1)
    total=a25[0]+a10[0]+a5[0]+a1[0]
    print "There are %d coins"% total
    print '''They are consists of %d 25 cent coin ,%d 10 cent coin,
           %d 5 cent coin and %d 1 cent coin.'''% (a25[0],a10[0],a5[0],a1[0])
    money=float(raw_input('Please input your money less than 1 dollar:'))
    mon=money*100

5-6.算术。写一个计算器程序。你的代码可以接受这样的表达式,两个操作数加一个操作符:N1操作符N2。其中N1和N2为整型或浮点型,操作符可以是+、-、*、/、%、**,分别表示加法、减法、乘法、×××除、幂运算。计算这个表达式的结果,然后显示出来。提示:可以使用字符串方法split(),但不可以使用内建函数eval()。

     答案:

import string
mystr=raw_input("输入一个算数表达式,通过空格分隔操作符和操作数:")
while mystr:
    lstr=mystr.split(' ')
    a=float(lstr[0])
    b=float(lstr[2])
    if lstr[1]=='+':
        result=a+b
    elif lstr[1]=='-':
        result=a-b
    elif lstr[1]=='*':
        result=a*b
    elif lstr[1]=='/':
        result=a/b
    elif lstr[1]=='%':
        result=a%b
    elif lstr[1]=='**':
        result=a**b
    else:
        print "Error,please input agian."
    print result
    mystr=raw_input("输入一个算数表达式,通过空格分隔操作符和操作数:")


5-7。略。

5-8.几何。计算面积和体积。

(a)正方形和立方体。

(b)圆和球。

   答案:

num=raw_input('输入你想要计算方案代号:1,正方形 2,立方体 3,圆 4,球=》')
bian=float(raw_input('输入边长或者直径:'))
def squre(bian):
    print '该正方形面积是%f'%(bian*bian)
def cube(bian):
    print '该立方体面积是%f,体积是%f'%(bian*bian*6,bian*bian*bian)
def circle(bian):
    print '该圆的面积是%f'%(3.14*bian*bian)
def ball(bian):
    print '该球的面积是%f,该球的体积是%f'%(4*3.14*bian*bian*bian/3,4*3.14*bian*bian)
if num=='1':
    squre(bian)
elif num=='2':
    cube(bian)
elif num=='3':
    circle(bian)
elif num=='4':
    ball(bian)
else:
    print 'Error ,try input again.'


5-9.数值形式。回答下面关于数值格式的问题:

(a)为什么下面的例子里面17+32等于49,而017+32等于47,017+032等于41?

>>>17 + 32

49

>>>017 + 32

47

>>>017 + 032

41

(b)为什么下面这个表达式我们得到的结果是134L而不是1342?

>>>56l+78l

134L

     答案:

(a)因为以0开头的数字是八进制的,在计算的时候式一为十进制加法,式二为十进制和八进制加法,默认把八进制转换为十进制,式三为八进制加法,直接加后再转换为十进制。

(b)因为是长整型数相加

5-10.转换。写一对函数来进行华氏度到摄氏度的转换。转换公式为C=(F-32)*(5/9),应该在这个练习中使用真正的除法,否则你会得到不正确的结果。

     答案:

from __future__ import division
def convert(cel):
    c=(cel-32)*(5/9)
    print 'The result is',c
fn=float(raw_input('Enter the temperature:'))
convert(fn)


5-11.取余。

(a)使用循环和算术运算,求出0~20之间的所有偶数。

       答案:

for i in range(0,21):
    if i%2==0:
        print i,

(b)同上,不过这次输出所有奇数。

       答案:

for i in range(0,21):
    if i%2!=0:
        print i,

(c)综合(a)和(b),请问辨别奇数和偶数的最简单方法是什么?

      答案:看是否能被2整除。

(d)使用(c)的结果,写一个函数,检测一个整型能否被另一个整型整除。先要求客户输入两个数,然后你的函数判断两者是否有整除关系,根据判断结果分别返回True和False。

       答案:

first=int(raw_input('Please input first number:'))
second=int(raw_input('Please input second number:'))
if (first%second==0) or (second%first==0):
    print 'True'
else:
    print 'False'


5-12.系统限制。写一段脚本确认你的Python所能处理的整型、长整型﹑浮点型和复数的范围。

      答案:

import sys
print sys.maxint
print sys.long_info
print sys.float_info

5-13.转换。写一个函数把由小时和分钟表示的时间转换为只用分钟表示的时间。

    答案:

def sp(ti):
    a=ti.split(':')
    hour=int(a[0])
    mins=int(a[1])
    return hour*60+mins
tt=raw_input('Enter the time you want to transerfer:')
print 'The total time are %d minutes.'%sp(tt)


5-14.略。

5-15.最大公约数和最小公倍数。请计算两个整型的最大公约数和最小公倍数。

      答案:

def gys(a,b):
    if a<b:
        a,b=b,a
    while b!=0:
        a,b=b,a%b
    return a
def gbs(a,b):
    return (a*b)/gys(a,b)
fi=int(raw_input('Enter first number:'))
se=int(raw_input('Enter second number:'))
print '最大公约数是%d,最小公倍数是%d'%(gys(fi,se),gbs(fi,se))


5-16.家庭财务。给定一初始金额和月开销数,使用循环,确定剩下的金额当月的支出数,包括最后的支出数。Payment()函数会用到初始金额和月额度,输出结果类似下面的格式:

Enter opening balance:100.00

Enter monthly payment:16.13

                                       Amount Remaining

pymt#         Paid                  Balance

--------       ---------             -----------------

0                $0.00                   $100.00

1                $16.13                 $83.87

2                $16.13                 $67.74

3                $16.13                 $51.61

4                $16.13                 $35.48

5                $16.13                 $19.35

6                $16.13                 $3.22

7                $3.22                   $0

  答案:

Balance=float(raw_input('Enter opening balance:'))
Paid=float(raw_input('Enter monthly payment:'))
sep='--------'
pypt=0
print '%20s'%('Amount Remaining')
print '%s'%('pypt#'),'%10s'%('Paid'),'%18s'%('Balance')
print '%s'%sep,'%10s'%sep,'%18s'%sep
print '%s%12s%20s' % (0, 0.00, 100)
pypt=1
while (Balance-pypt*Paid)>=0:
      pypt+=1
      print '%s%12s%20s'%(pypt-1,Paid,Balance-(pypt-1)*Paid)
print '%s%12s%20s'%(pypt,Balance-(pypt-1)*Paid,0)


5-17.*随机数。熟读随机数模块然后解下面的题。生成一个有N个元素的由随机数n组成的列表,其中N和n的取值范围分别为(1 < N <= 100)和(0 <= n <= 2**31 - 1)。然后再随机从这个列表中取N(1 <= N <= 100)个随机数出来,对他们排序,然后显示这个子集。

import random
big_n = random.randint(1, 101)

list = range(big_n)

for i in range(big_n):
   list[i] = random.randint(-1, 2**31)

print big_n
print list
list.sort()
print list



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

《Python核心编程》第五章

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

《Python核心编程》第五章

5-1.整型。讲讲Python普通整型和长整型的区别?   答案:    在大多数32位机器上,标准整型的取值范围是-2^31~2^31-1,如果在64位机器上使用64位编译器编译的Python,则整型是64位的。而长整型能表示的数值仅仅与
2023-01-31

python核心编程2 第五章 练习

5-2 运算符(a) 写一个函数,计算并返回两个数的乘积(b) 写一段代码调用这个函数,并显示它的结果1 def product(x, y):2 3 return x * y4 5 if __name__ == '__main__'
2023-01-30

python核心编程2 第六章 练习

6-2. 字符串标识符.修改例 6-1 的 idcheck.py 脚本,使之可以检测长度为一的标识符,并且可以识别 Python 关键字,对后一个要求,你可以使用 keyword 模块(特别是 keyword.kelist)来辅助 1 im
2023-01-30

python核心编程2 第九章 练习

9–1. 文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做Python , Perl, Tcl, 等大多脚本文件的注释符号.附加题: 处理不是第一个字符开头的注释.1 filename = input("输
2023-01-30

python核心编程2 第十章 练习

10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None,而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。 1 def openfile(file)
2023-01-30

python核心编程2 第十二章 练习

12–5. 使用 __import__().(a) 使用 __import__ 把一个模块导入到你的名称空间。 你最后使用了什么样的语法?(b) 和上边相同, 使用 __import__() 从指定模块导入特定的名字。1 module =
2023-01-30

Python核心编程第三版

Python核心编程第三版高清版 PDF链接: https://pan.baidu.com/s/16jAUKZc3wHUoFZbPnhpVMw 密码: 2y8d
2023-01-31

《python核心教程2》第十章 练习

10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None,而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。 1 def openfile(file)
2023-01-30

《python核心教程2》第九章 练习

9–1. 文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做Python , Perl, Tcl, 等大多脚本文件的注释符号.附加题: 处理不是第一个字符开头的注释.1 filename = input("输
2023-01-30

[PYTHON] 核心编程笔记之五-Py

5.1 数字类型创建数值对象和给变量赋值anInt = 1aLong = -9999999999LaFloat = 3.1415926aComplex = 1.23+4.56j如何更新数字对象变量像一个指针指向装变量值的盒子,对不可变类型来
2023-01-31

python核心编程(第三版)网络编程错

//服务器端代码from socket import *from time import ctimehost='localhost'port=3330bufsize = 1024addr = (host,port)tcpser = sock
2023-01-30

Python核心编程(第3版)-客户端F

cat getLatestFTP.py#!/usr/bin/pythonimport ftplibimport osimport socketHOST = 'ftp.mozilla.org'DIRN = 'pub/mozilla.org/w
2023-01-31

第十五章 Python多进程与多线程

15.1 multiprocessingmultiprocessing是多进程模块,多进程提供了任务并发性,能充分利用多核处理器。避免了GIL(全局解释锁)对资源的影响。有以下常用类:类描述Process(group=None, targe
2023-01-31

第十七章 Python网络编程

Socket简介在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个链接的一端称为一个Socket(套接字),用于描述IP地址和端口。建立网络通信连接至少要一对端口号(Socket),Socket本质是编程接口(API),对TCP/
2023-01-31

[PYTHON]核心编程笔记(15.Py

核心笔记:查找与匹配的比较15.1.1 您的第一个正则表达式:15.2 正则表达式使用的特殊符号和字符常用正则表达式符号和特殊符号:记号       说明                                          举
2023-01-31

[PYTHON] 核心编程笔记(16.P

16.1 介绍16.1.1 什么是客户/服务器架构?硬件的客户/服务器架构软件客户/服务器架构16.1.2 客户/服务器网络编程16.2 套接字: 通讯端点16.2.1 什么是套接字?套接字是一种具有通讯端点感念的计算机网络数据结构16.2
2023-01-31

[PYTHON] 核心编程笔记(17.P

17.1 什么是因特网客户端?17.2 文件传输17.2.1 文件传输因特网协议流行的有文件传输协议(FTP),Unix-to-Unix复制协议(UUCP),以及网页的超文本传输协议(HTTP),另外,还有(Unix下的)远程文件复制指令s
2023-01-31

[PYTHON] 核心编程笔记(14.P

在python中有多种运行外部程序的方法,比如,运行操作系统命令或另外的python脚本,或执行一个磁盘上的文件,或通过网络来运行文件在特定执行场景包括:在当前脚本继续运行创建和管理子进程执行外部命令或程序执行需要输入的命令通过网络来调用命
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录