Pyhton核心编程-Chap2习题-DIY
在学Python,在看《Python核心编程》的pdf,做了Chap2的题目,答案为DIY
# Filename: 2-11.py
# Author: ChrisZZ
mylist = [1, 2, 3, 4, 6]
sum = 0
for i in mylist:
sum = sum + i
average = sum * 1.0 / len(mylist)
while True:
print 'Here we have a list:', mylist
option = raw_input('Whatyou gonna know(sum/average/exit)?')
if option == 'sum':
print 'the sum of the list is', sum
elif option == 'average':
print 'the average of the list is', average
elif option == 'exit':
print 'Bye'
break
else:
print 'Wrong option.Repeat.' # Filename: 2-5.py
# Author: ChrisZZ
i = 0
while i <= 10:
print i
i = i + 1 for j in range(11):
print j # Filename: 2-15.py
# Author: ChrisZZ
print 'Please input 3 number.'
print 'I will sort them without using sort algo'
a = float(raw_input('the first number'))
b = float(raw_input('the second number'))
c = float(raw_input('the third number'))
res1 = (a - b) * (a - c)
mylist = []
if res1 < 0: # a is the middle
if b > c:
mylist = [b, a, c]
else:
mylist = [c, a, b]
else:
if a > b and b > c:
mylist = [a, b, c]
elif a > c and c > b:
mylist = [a, c, b]
elif a < b and b < c:
mylist = [c, b, a]
elif a < c and c < b:
mylist = [b, c, a] print mylist # Filename: 2-10.py
# Author: ChrisZZ
while True:
num = float(raw_input('Enter a number in range(1,100):'))
if num > 100 or num < 0:
print 'not a good number. repeat.'
else:
print 'nice number.bye'
break # Filename: 2-8.py
# Author: ChrisZZ
mylist = [1, 2, 3, 4, 5]
sumW = 0
i = 0
while i < len(mylist):
sumW = sumW + mylist[i]
i = i + 1
print sumW sumF = 0
for i in mylist:
sumF = sumF + i
print sumF # Filename: 2-7.py
# Author: ChrisZZ
s = raw_input('Enter a string:')
print 'while loop:'
i = len(s)
while i > 0:
print s[-i]
i = i - 1 print 'for loop:'
for ch in s:
print ch # Filename: 2-6.py
# Author: ChrisZZ
num = float(raw_input('Enter a number:'))
if num < .0:
print 'Negative number'
elif num > .0:
print 'Positive number'
else:
print 'Zero'
PS:这些题目都是分开写的py脚本,自己写了另一个脚本把他们重定向到了一个叫做result.txt的文件中,习题在~/workspace/python/xiti/路径,处理的脚本在~/workspace/python/,具体如下:
# Filename: process.py
# Author: ChrisZZ
import os
prefix = "/home/chris/workspace/python/xiti/"
filenames = os.listdir(prefix)
out = open('result.txt', 'w')
for k, v in enumerate(filenames):
f = open(prefix + v, 'r')
out.write('# Filename: %s\n' % v)
out.write('# Author: ChrisZZ\n')
for eachLine in f:
out.write(eachLine)
f.close()
out.write('\n')
out.close()
Pyhton核心编程-Chap2习题-DIY的更多相关文章
- pyhton 核心编程 正则表达式习题
方案一 import re #1. 识别下列字符串:“bat,” “bit,” “but,” “hat,” “hit,” 或 “hut” import re def test1(self): bt = ...
- Python核心编程课后习题-第六章
1. 字符串, string模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? str1 = 'abcdefghijklmnopqrstuv' print st ...
- Python 核心编程 课后习题 第五章
2. 操作符. (a) 写一个函数, 计算并返回两个数的乘积. (b) 写一段代码调用这个函数, 并显示它的结果. def multi(a,b): return a * b result = mult ...
- python核心编程(第二版)习题
重新再看一遍python核心编程,把后面的习题都做一下.
- Qt on Android 核心编程
Qt on Android 核心编程(最好看的Qt编程书!CSDN博主foruok倾力奉献!) 安晓辉 著 ISBN 978-7-121-24457-5 2015年1月出版 定价:65.00元 4 ...
- windows核心编程 - 线程同步机制
线程同步机制 常用的线程同步机制有很多种,主要分为用户模式和内核对象两类:其中 用户模式包括:原子操作.关键代码段 内核对象包括:时间内核对象(Event).等待定时器内核对象(WaitableTim ...
- windows核心编程---第九章 同步设备IO与异步设备IO之同步IO
同步设备IO 所谓同步IO是指线程在发起IO请求后会被挂起,IO完成后继续执行. 异步IO是指:线程发起IO请求后并不会挂起而是继续执行.IO完毕后会得到设备的通知.而IO完成端口就是实现这种通知的很 ...
- windows核心编程---第八章 使用内核对象进行线程同步
使用内核对象进行线程同步. 前面我们介绍了用户模式下线程同步的几种方式.在用户模式下进行线程同步的最大好处就是速度非常快.因此当需要使用线程同步时用户模式下的线程同步是首选. 但是用户模式下的线程同步 ...
- Python核心编程这本书的一些错误
<Python核心编程第二版>这本书比<Python基础教程第二版修订版>详细很多,丰富了很多细节,虽然它是一本经典的入门书,但我发现还是存在一些明显的错误.在面向对象编程这一 ...
随机推荐
- Eureka的一些注意事项
1.心跳设置:只能在application.yml中 2. 注册到Eureka上面的服务名称 与swagger2使用的时候,需要配置此项,否则显示服务名称为unknown 3.高可用的Eureka 4 ...
- Rstdio快捷键总结
Rstdio常用快捷键总结 在R语言里面输入了一个不完整的指令以后 左下方的console pane一直有加号+,不管输入什么都是加号,只用推出重新打开Rstudio才行,后来google了下,按左上 ...
- kernel-init-bash
https://www.kernel.org/doc/Documentation/kernel-parameters.txthttp://unix.stackexchange.com/question ...
- md5sum/opensll md5
http://m.blog.csdn.net/article/details?id=42041329 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Mess ...
- 三、Linux学习之命令基本格式篇
一.命令格式 命令 [选项] [参数] 注意: 1.和别命令使用不遵循此格式 2.当有多个选项时,可以写在一起 3.简化选项与完整选项(-a 等价于--all) 4.中括号为可选,意思是可以有可以没有 ...
- Kubernetes--kubectl
一.Kubectl命令行说明 类型 命令 描述 基础命令 create 通过文件名或标准输入创建资源 expose 将一个资源公开为一个新的kubernetes服务 run 创建并运行一个特定的镜 ...
- IOS的__bridge
使用 __bridge 关键字来实现id类型与void*类型的相互转换.看下面的例子. id obj = [[NSObject alloc] init]; void *p = (__bridge vo ...
- Angular5基本入门
基本环境安装 首先,确定安装了nodejs与npm,angular 5要求node版本在6.9.x以上.npm版本在 3.x.x以上: 1.安装@angular/cli npm install -g ...
- 装好Linux后没有声音的看过来
现代的Linux发行版对声卡的支持都应该没有问题.系统装好,声卡就应该正常工作. (尤其是ArchLinux,我觉得对硬件支持最跟得上时代步伐.) 可是我用mplayer播放mp3文件却没有声音,但也 ...
- 20155225 2016-2017-2 《Java程序设计》第七周学习总结
20155225 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 java提供的时间处理API 认识时间与日期,时间日期处理不是我想象中那么简单的问题,涉及地 ...