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基础教程第二版修订版>详细很多,丰富了很多细节,虽然它是一本经典的入门书,但我发现还是存在一些明显的错误.在面向对象编程这一 ...
随机推荐
- Docker多主机网络 OpenvSwitch
一.Open vSwitch Open vSwitch(以下简称为OVS),英文全称:OpenVirtual Switch,顾名思义,Open vSwitch就是开放虚拟交换.我们可以把他理解成 ...
- Python【经典类与新式类】
经典类多继承的调用方法顺序是:深度优先查询,如下图: 新式类多继承的调用方法顺序是:广度优先查询,如下图: 可以使用下面的代码进行实验验证: #经典类class A: def __init__ ...
- Ubuntu 搭建svn服务器 ,以及常见错误解决方案
一.安装命令: 1)以root身份登录.执行:sudo su -命令 2)执行安装命令:apt-get install subversion 二.创建项目目录 1)mkdir /home/svn ...
- 数学建模 TSP(旅行商问题) Lingo求解
model: sets: cities../:level; link(cities, cities): distance, x; !距离矩阵; endsets data: distance ; end ...
- hive架构原理简析-mapreduce部分
整个处理流程包括主要包括,语法解析(抽象语法树,AST,采用antlr),语义分析(sematic Analyzer生成查询块),逻辑计划生成(OP tree),逻辑计划优化,物理计划生成(Task ...
- 在EF6.0中打印数据库操作日志
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- js模拟自动点击事件
1.直接上代码很直观 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- python类和对象-扩展
1.为类或对象动态创建属性或方法 2.__slots__ = ('name','age'),[实例]只能创建指定的属性属性或方法 ---新式类 3.执行父类的构造函数的不同Father.__init_ ...
- VUE组件相关总结!
定义使用一个组件 <!doctype html> <html lang="en"> <head> <meta charset=" ...
- Ubuntu自定义终端窗口位置
方法一: 自定义终端启动快捷键 具体方法是自定义一个快速启动终端的快捷键,附带设置终端启动时的位置参数.首先获得需要放置窗口的目标位置信息,可以通过终端命令“ xwininfo ”来获得.步骤是首先打 ...