《Python核心编程》第二章(1)

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

答案:

202354590.jpg

由上可知,直接输入变量名显示的该对象的字符串表示,而print和格式化打印则显示的是字符串。

2-2. 程序输出,阅读下面的Python脚本。

#!/usr/bin/env python

1+2*4

(a) 你认为这段脚本是用来做什么的?

(b) 你认为这段脚本会输出什么?

(c) 输入以上代码,并保存为脚本,然后运行它。它所做的预期与你的预期一样吗?为什么一样/ 不一样?

(d) 这段代码单独执行和在交互式解释器中执行有何不同?试一下,然后写出结果。

答案:

(a) 这段代码意图是输出1+2*4的和

(b) 这段脚本什么也不会输出

(c) 不一样,因为这个脚本仅仅是一个表达式,而不是一个语句。

(d) 单独执行时不会显示任何内容,在交互式解释器中可以显示预期的结果。

2-3. 数值和操作符。启动交互解释器,使用Python对两个数值(任意类型)进行加、减、乘、除运

算 。然后使用取余操作符来得到两个数相除的余数,最后使用乘方操作符求A数的B次方。

答案:

203956628.jpg

2-4. 使用raw_input()函数得到用户输入。

(a) 创建一段脚本使用raw_input()内建函数从用户得到一个字符串,然后显示这个用户刚刚键入 的字符串。

(b) 添加一段类似的代码,不过这次输入的是数值。将用户输入数据转换为一个数值对象,(使用 int()或其他数值转换函数)并将这个值显示给用户看(注意,如果你用的是早于1.5的版本, 你需要使用 string.ato*()函数执行这种转换)。

答案:

(a)

#!/usr/bin/env python
  mystring=raw_input('Enter a string :')
  print mystring

(b)

#!/usr/bin/env python
  mynum=raw_input('Enter a number:')
  print 'The number is %d.'%(int(mynum))

2-5. 循环和数字。

分别用while和for循环创建一个循环。

(a)写一个while循环,输出整型为0~10(要确保是0~10,而不是1~10或者0~9)

(b)做同(a)一样的事,这次使用range()函数。

答案:

(a)

#!/usr/bin/env python
  i=0
  while i+1<=11:
        print i,
        i+=1
#!/usr/bin/env python
  num=[0,1,2,3,4,5,6,7,8,9,10]
  for i in num:
      print i,

(b)

for i in range(11):
    print i,

不知道怎么用while写了

2-6. 条件判断。判断一个数是正数,还是负数,或者是0.开始时先用固定的数值,然后修改代码支持 用户输入数值再进行判断。

答案:

#!/usr/bin/env python
mynum=raw_input('Enter a number:')
if int(mynum)>0:
    print 'This is a postive number.'
elif int(mynum)==0:
    print 'This number is zero.'
else:
    print 'This is negetive number.'


2-7. 循环和字串。从用户那里接受一个字符串输入,然后逐个字符显示该字符串。先用while循环实 现,然后再用for循环实现。

答案:

#!/usr/bin/env python
mystring=raw_input('Enter a string:')
i=0
while i<len(mystring):
    print mystring[i]+'+',
    i+=1

#!/usr/bin/env python
mystring=raw_input('Enter a string:')
for i in mystring:
    print i+'+',


2-8. 循环和操作符。创建一个包含五个固定数值的列表或元组,输出它们的和。 然后修改你的代码为 接受用户输入数值,分别使用while和for循环实现。

答案:

#!/usr/bin/env python
num=[1,2,3,4,5]
s=0
for i in num:
    s=s+i
print s

#!/usr/bin/env python
num=[1,2,3,4,5]
s=0
i=0
while i<len(num):
    s=s+num[i]
    i=i+1
print s

2-9. 循环和操作符。创建一个包含五个固定数值的列表或者元组,输出它们的平均值。本练习的难点 是通过除法得到平均值。你会发现整型除会截去小数,因此你必须使用浮点除得到更精确的结 果。float()内建函数可以实现此功能。

答案:

#!/usr/bin/env python
num=[2,5,8,4,9]
s=0
for i in num:
    s+=i
con=float(s)/5
print con



你可能感兴趣的:(python,python核心编程)