Python核心编程 练习
2–9.
循环和运算符 创建一个包含五个固定数值的列表或元组,输出他们的平均值。本练习的难点之一是通过除法得到平均值。 你会发现整数除会截去小数,因此你必须使用浮点除以得到更精确的结果。 float()内建函数可以帮助你实现这一功能。
>>> def a(): #function1
i=0
sum=0
while i<5:
i=i+1
num=input('enter %d:'%(i))
sum=sum+float(num)
avg=sum/5
print("avg is %f"%(avg)) >>> a()
enter 1:1
enter 2:2
enter 3:3
enter 4:4
enter 5:56
avg is 13.200000
>>> def a(): #function2
print('input five number:')
i=0
sum=0
while i<5:
i=i+1
num=input()
sum=sum+float(num)
avg=sum/5
print("avg is %f"%(avg)) >>> a()
input five number:
3
4
67
23
564.34
avg is 132.268000
2–10.
带循环和条件判断的用户输入 使用raw_input()函数来提示用户输入一个1 和100 之间的数,如果用户输入的数满足这个条件,显示成功并退出。否则显示一个错误信息然后再次提示用户输入数值,直到满足条件为止。
def a():
i=0
while i==0:
try:
a=input('please enter a number between 1 and 100:')
num=float(a)
if num>1 and num<100:
print('you entered the number %f'%(num))
break
else: print("number needs 1~100!")
except ValueError:
print("please input number!") >>> a()
please enter a number between 1 and 100:sad
please input number!
please enter a number between 1 and 100:100
number needs 1~100!
please enter a number between 1 and 100:23
you entered the number 23.000000
2–11.
带文本菜单的程序 写一个带文本菜单的程序,菜单项如下(1)取五个数的和 (2) 取五个数的平均值....(X)退出。由用户做一个选择,然后执行相应的功能。当用户选择退出时程序结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启动你的脚本。(这对开发人员测试自己的程序也会大有用处)
def function():
print('input 5 numbers:')
i=0
sum=0
while i<5:
i=i+1
num=input()
sum+=float(num)
while 1:
print('1.sum') #这几个print可以放到while 1外面去,表示不需要每次选择前都会显示选项
print('2.average')
print('3.exit')
select=int(input('you select:'))
if select==1:
print('the sum is:'),
print(sum)
elif select==2:
avg=sum/5
print('the average is:'),
print(avg)
else:break
3-13
这个题目实在是太折腾了,将新建文本、查看文本、新增文本内容写到一起,然后带文本菜单。
不过还是搞不清楚两点:1、怎么删掉多出来的空格;2、怎么修改完整的文件,包括删除语句、修改原有语句
def b():
#!/usr/bin/env python
'makeTextFile.py--creat text file'
import os
ls=os.linesep
#get filename
while True:
print("1.creat a file");print("2.read a file");print("3.modify a file");print("4.exit")
select=int(input('I want:'))
if select==1:
while True:
fname=input('enter a filename:')
if os.path.exists(fname):
print("Error:'%s' already exists"%(fname))
else:break
#get file content (text) lines
allw=[]
print("\n Enter lines('.' by itself to quit).\n")#loop until user terminates input
while True:
entry=input('>')
if entry=='.':
break
else:
allw.append(entry)
#write lines to file with proper line-ending
fobjw=open(fname,'w')
fobjw.writelines(['%s%s'%(x,ls)for x in allw])
fobjw.close()
print('Seccess new!')
if select==2:
while True:
fname=input('enter a filename:')
if os.path.exists(fname):
fobjr=open(fname,'r')
for filetxt in fobjr:
print(filetxt)
fobjr.close()
break
else:
print('%s file is not exist'%(fname))
print('Seccess read!')
if select==3:
while True:
fname=input('enter a filename:')
if os.path.exists(fname):
break
else:
print('%s file is not exist'%(fname))
fobjr=open(fname,'r')
all=fobjr.readlines()
print("\n Enter lines('.' by itself to quit).\n")
while True:
entry=input('+')
if entry=='.':
break
else:all.append(entry)
fobj=open(fname,'w')
fobj.writelines(['%s%s'%(x,ls)for x in all])
fobj.close()
fobjr.close()
print("Seccess modify")
if select==4:break
5-4 取余。判断给定年份是否是闰年。使用下面的公式:一个闰年就是指它可以被4 整除,但不能被100 整除, 或者它既可以被4 又可以被100 整除。比如 1992,1996 和2000 年是闰年,但1967 和1900 则不是闰年。下一个是闰年的整世纪是 2400 年。
def Leap():
x=int(input('enter;'))
a=x%4
b=x%100
c=x%400
if c==0:
m='is'
elif a==0:
if b==0:
m='is not'
else:
m='is'
else:
m='is not'
print('%d'%x, m,'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 美分这样的结果都是不符合要求的。
def yuan():
x=float(input('enter a number of dollor:'))
z=100*x
(a,b)=divmod(z,25)
if a==0:
n1=0
(c,d)=divmod(z,10)
if c==0:
n2=0
(e,f)=divmod(z,5)
if e==0:
n3=0
n4=f
else:
n3=e
n4=f
else:
n2=c
(e,f)=divmod(d,5)
if e==0:
n3=0
n4=f
else:
n3=e
n4=f
else:
n1=a
(c,d)=divmod(b,10)
if c==0:
n2=0
(e,f)=divmod(b,5)
if e==0:
n3=0
n4=f
else:
n3=e
n4=f
else:
n2=c
(e,f)=divmod(d,5)
if e==0:
n3=0
n4=f
else:
n3=e
n4=f
print(x,'equals %d $25 %d $10 %d $5 %d $1'%(n1,n2,n3,n4))
Python核心编程 练习的更多相关文章
- python核心编程(第二版)习题
重新再看一遍python核心编程,把后面的习题都做一下.
- Python核心编程这本书的一些错误
<Python核心编程第二版>这本书比<Python基础教程第二版修订版>详细很多,丰富了很多细节,虽然它是一本经典的入门书,但我发现还是存在一些明显的错误.在面向对象编程这一 ...
- Python核心编程-描述符
python中,什么描述符.描述符就是实现了"__get__"."__set__"或"__delete__" 方法中至少一个的对象.什么是非 ...
- Python核心编程-闭包
百度搜了一下闭包的概念:简而言之,闭包的作用就是在外部函数执行完并返回后,闭包使得收机制不会收回函数所占用的资源,因为内部函数的执行需要依赖外函数中的变量.这是对闭包作用的非常直白的描述,不专业也不严 ...
- python核心编程第二版笔记
python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d 提供调试输出1.2 –O 生成优化的字节码(生成 ...
- 学习《Python核心编程》做一下知识点提要,方便复习(一)
学习<Python核心编程>做一下知识点提要,方便复习. 计算机语言的本质是什么? a-z.A-Z.符号.数字等等组合成符合语法的字符串.供编译器.解释器翻译. 字母组合后产生各种变化拿p ...
- python核心编程--笔记
python核心编程--笔记 的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找pyt ...
- Python核心编程第二版(中文).pdf 目录整理
python核心编程目录 Chapter1:欢迎来到python世界!-页码:7 1.1什么是python 1.2起源 :罗萨姆1989底创建python 1.3特点 1.3.1高级 1.3.2面向 ...
- Python核心编程
对<Python核心编程>的褒奖" The long-awaited second edition of Wesley Chun's Core PythonProgramming ...
- python经典书籍推荐:Python核心编程
作者:熊猫烧香 链接:www.pythonheidong.com/blog/article/27/ 来源:python黑洞网 对<Python核心编程>的褒奖 “ The long-awa ...
随机推荐
- JQ滑动导航菜单的实现
前言:不多说直接看效果!!! 这样的菜单我们在一般的网站上见到的也比较多,有比较好的用户体验! 原理:这个很重要,任何的特效只要原理搞明白了,实现起来都是很容易的!这个特效的原理很简单,菜单的样式 ...
- mcrypt.h not found. Please reinstall libmcrypt
在centos上对php5.6进行源码安装的时候, 出现了如题所示错误提示, 原因是由于centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包 解决办法使用php ...
- Topcoder SRM 656 (Div.1) 250 RandomPancakeStack - 概率+记忆化搜索
最近连续三次TC爆零了,,,我的心好痛. 不知怎么想的,这题把题意理解成,第一次选择j,第二次选择i后,只能从1~i-1.i+1~j找,其实还可以从j+1~n中找,只要没有被选中过就行... [题意] ...
- 浪漫桃心的Android表白程序
本文转载于 huachao1001的专栏 几年前,看到过有个牛人用HTML5绘制了浪漫的爱心表白动画.地址在这:浪漫程序员 HTML5爱心表白动画.发现原来程序员也是可以很浪……漫…..的.那么在A ...
- Android开发技巧——去掉TextView中autolink的下划线
我们知道,在布局文件中设置textview的autolink及其类型,这时textivew上会显示link的颜色,并且文字下面会有一条下划线,表示可以点击.而在我们在点击textview时,应用将根据 ...
- 【开源java游戏框架libgdx专题】-07-文件处理
介绍:文件处理在不同平台的文件管理是略有差异的 Desktop(Windows,Linux,Mac OS X等等):在桌面系统中,文件系统是一个大块的内存.文件可以通过当前的工作目录或者绝对路径被引用 ...
- 从一个SVN下载的导入另一个SVN里面
如果项目是你从个一个SVN下载的,你想存入另一个SVN里面 那么问题来了 你用eclipse的team的时候会发现没有Team share 这个选项,那么就等于是没有上传的选项了 解决办法,把项目删掉 ...
- 开发RESTful WebService
RESTful风格的webservice越来越流行了,sun也推出了RESTful WebService的官方规范:JAX-RS,全称:Java API for RESTful WebService. ...
- CSS注释代码
就像在Html的注释一样,在CSS中也有注释语句:用/*注释语句*/来标明(Html中使用<!--注释语句-->).就像下面代码: 示例: <!DOCTYPE HTML> &l ...
- js apply
1.作用 函数的apply方法的作用与call方法类似,也是改变this指向,然后再调用该函数.唯一的区别就是,它接收一个数组作为函数执行时的参数 Fn.apply(obj, [arg1, arg2, ...