PS:PDF在线地址:http://bcmi.sjtu.edu.cn/~zhaohai/ptm2012/data/Python-kernel.programming.v2.pdf

2-1  变量,print 和字符串格式化运算符。启动交互式解释器,给一些变量赋值(字符串,数值等等)并通过输入变量名显示它们的值。再用 print 语句做同样的事。这二者有何区别? 也尝试着使用字符串格式运算符%,多做几次,慢慢熟悉。

# -*- coding:utf-8 -*-
>>>a = 123
>>>b = ''
>>>a
123
>>>b
''
>>>print a
123
>>>print b
123
>>>print '尽管print语句输出的a和b是一样的,但他们仍然不一样,a是%d,是整型;b是%s,是字符串。' % (a,b)
尽管print语句输出的a和b是一样的,但他们仍然不一样,a是123,是整型;b是123,是字符串。

可见,在交互式解释器中,通过输入变量名称显示值是直接显示各变量包含变量类型的值,即字符串带有字符串的标志''引号;通过print语句,则字符串引号''被去掉。

2-2  程序输出

(a)  这段脚本用来计算 1 + 2 * 4 的值

(b)这段脚本保存后再运行不会输出任何项

(c)保存为脚本运行后,没有任何输出,与预想的一样。究其原因,是因为交互式解释器和脚本运行的不同

(d)单独执行这段代码,不会有任何输出;在交互式解释器中输入 1 + 2 * 4 ,会输出"9".如下:

#!/usr/bin/env python
1 + 2 * 4

(e)使用print语句即可

2-3  略

2-4  (a)

 # -*- coding:utf-8 -*-
string = raw_input("Please enter something:")
print string

输出:

Please enter something:Python is number one!
Python is number one!

(b)

# -*- coding:utf-8 -*-
string = raw_input("Please enter a number:")
print "Your enter is %d" % int(string)

输出:

Please enter a number:123
Your enter is 123

2-5  (a)

i = 0
while i <= 10:
print i
i += 1

(b)

for i in range(11):
print i

2-6  (1)

# -*- coding:utf-8 -*-
num = 10
if num > 0:
print u"它是正数!"
elif num < 0:
print u"它是负数!"
else:
print u"它是0"

(2)

# -*- coding:utf-8 -*-
num = int(raw_input("输入一个数字:".decode("utf-8").encode("gbk")))
if num > 0:
print u"它是正数!"
elif num < 0:
print u"它是负数!"
else:
print u"它是0"

2-7  (1) while

strings = raw_input("Please enter something:")
i = 0
while i < len(strings):
print strings[i],'(%d)' % i
i += 1

(2)  for

strings = raw_input("Please enter something:")
for i,string in enumerate(strings):
print string,"(%d)" % i

2-8

(1)

list1 = [123,45,678,91,124]
i = 0
sum = 0
while i < len(list1):
sum = sum + list1[i]
i += 1
print sum sum = 0
for num in list1:
sum = sum + num
print sum

(2)

num_one = int(raw_input("Please enter the first number:"))
num_two = int(raw_input("Please enter the second numebr:"))
num_three = int(raw_input("Please enter the third number:"))
num_four = int(raw_input("Please enter the fourth number:"))
num_five = int(raw_input("Please enter the fifth number:"))
list1 = [num_one,num_two,num_three,num_four,num_five]
i = 0
sum = 0
while i < len(list1):
sum = sum + list1[i]
i += 1
print sum sum = 0
for num in list1:
sum = sum + num
print sum

2-9

number = [12,345,67,890,123]
sum = 0
for num in number:
sum = sum + num
average = float(sum) / 5
print "%f is the average of these five numbers." % average

2-10

while True:
num = int(raw_input("Please enter a number bewteen 1 and 100:"))
if num >= 1 and num <= 100:
print "Well Done.You done it."
break
else:
print "Man,you are wrong!Please learn to read the prompt!!!"
continue

2-11

# -*- coding:utf-8 -*-
def calc_sum():
global sum
sum = 0
i = 0
while i < 5:
num = int(raw_input("请依次输入五个数字:".decode("utf-8").encode("gbk")))
sum = sum + num
i += 1 return sum
while True:
choice = raw_input("1求和,2求平均数,X退出,请输入你的选择:".decode("utf-8").encode("gbk"))
if choice == 'X':
print u"程序将退出"
break
elif choice.isdigit() and int(choice) == 1:
#isdigit()用来判断一个对象是否是数字,是数字返回True,否则返回False。如123.isdigit()返回结果True
print u"计算五个数的和"
calc_sum()
print u"这五个数的和是:",sum elif choice.isdigit() and int(choice) == 2:
print u"计算五个数的平均值"
calc_sum()
print u"这五个数的平均值是:",float(sum) / 5
else:
print u"请重新输入"

2-12

(a)  dir()会显示所有全局变量

(b)   dir不加括号返回<built-in function dir>,对dir的基础介绍

(c)   type(dir)返回<type 'builtin_function_or_method'>,意思是内建的函数或方法

2-13

2-14

原语句:

print -2 * 4 + 3 ** 2

改写:

print -2 * 4 + (3 ** 2)

2-15/2-16    存疑,待补

python核心编程-习题-第二章的更多相关文章

  1. python核心编程2第二章课后练习

    2-1 变量, print 和字符串格式化运算符.启动交互式解释器.给一些变量赋值(字符串,数值等等)并通过输入变量名显示它们的值.再用 print 语句做同样的事.这二者有何区别? 也尝试着使用字符 ...

  2. Python核心编程笔记 第二章

    2.1   程序输出:print语句         可以使用print语句显示变量的字符串表示,或者仅用变量名查看该变量的原始值. 2.2   程序输出和raw_input()内建函数       ...

  3. 【0】python核心编程,第二章

    1.print语句也支持将输入重定向到文件,示例: logfile = open('/tmp/mylog.txt', 'a') print >> logfile, 'Fatal error ...

  4. python核心编程(第二版)习题

    重新再看一遍python核心编程,把后面的习题都做一下.

  5. 【Python千问 1】Python核心编程(第二版)导读

    第一章 欢迎来到Python世界 什么是Python Python的起源 Python的特点 下载Python 安装Python 运行Python Python文档 比较Python(与其它语言的比较 ...

  6. 【7】python核心编程 第十一章-函数和函数式编程

    1.*函数(与方法)装饰器 装饰器背后的主要动机源自python 面向对象编程.装饰器是在函数调用之上的修饰.这些修饰 仅是当声明一个函数或者方法的时候,才会应用的额外调用. 装饰器的语法以@开头,接 ...

  7. python核心编程-第五章-习题

    1.长整型表示数的范围比整型更大.在python中,整型.长整型趋于统一,普通用户不用特别关注两者区别,仅当需引用C语言时需要特别注意. 2.操作符 (a) def product(x,y): ret ...

  8. python核心编程-第三章-习题

    1.这是python的语言特性,python先创建对象,在给变量赋值时,不需要定义变量的名称和类型,它实际是用变量引用对象.变量类型在给变量赋值时自动声明 2.原因类似变量无须声明类型 3.pytho ...

  9. python核心编程-第四章-习题

    1.身份.类型.值.其中,身份是每个对象的标识,与内存地址密切相关,可用id()返回:类型决定了对象可以保存什么类型的值,用type()函数.isinstance()函数可以得到对象的类型:值就是对象 ...

随机推荐

  1. 在jQuery中Ajax的Post提交中文乱码的解决方案

    引言: 在jQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢? 问题的引入: var regid = $('#oregion').combobox('getV ...

  2. 为什么在CSS中不要再使用@import

    http://www.stevesouders.com/blog/2009/04/09/dont-use-import/为什么在CSS中不要再使用@import

  3. centos源码安装git

    因为Centos上yum安装的话可能版本比较低,使用中会有一些难以预料的问题出现. 从源代码编译安装方法: #Centos执行: yum install curl-devel expat-devel ...

  4. 在服务器上php执行某些远程函数出错

    Warning: imagecreatefromjpeg(): php_network_getaddresses: getaddrinfo failed: Name or service not kn ...

  5. C语言--关键字 typedef

    一.typedef 1.基本使用 1> typedef 在基本数据类型中的使用 typedef int MyInt; // 相当于给 int 起了一个别名 typedef MyInt MyInt ...

  6. 8051、ARM和DSP指令周期的测试与分析

    在实时嵌入式控制系统中,指令周期对系统的性能有至关重要的影响.介绍几种最常用的微控制器的工作机制,采用一段循环语句对这几种微控制器的指令周期进行测试,并进行分析比较.分析结论对系统控制器的选择有一定的 ...

  7. javascript之DOM操作

    一.document.getElementById()    根据Id获取元素节点 <div id="div1"> <p id="p1"> ...

  8. C# 根据URL返回HTML_根据URL获取图片信息/缩略图

    /// <summary> /// 根据URL 返回HTML /// </summary> private List<string> GetHtmlByUrl(st ...

  9. gcc的stdcall扩展

    MSVC上: 如果是函数调用约定直接就写 __stdcall 之类的就行了 如果是gcc上: 函数的扩展调用约定要这样写 __attribute__((__stdcall__)),默认为__attri ...

  10. javascript代码混淆原理

    https://www.google.com/search?biw=1440&bih=729&q=javascript%E4%BB%A3%E7%A0%81%E6%B7%B7%E6%B7 ...