码迷,mamicode.com
首页 > 编程语言 > 详细

python核心编程第二版练习题答案

时间:2017-01-07 20:58:34      阅读:956      评论:0      收藏:0      [点我收藏+]

标签:his   osi   操作符   接受   int   lease   包含   不同   one   

2-5

#写一个while循环,输出整型为0~10

a=0
while a<11:
print a
a+=1

#写一个for循环重复以上操作

for i in range(11):
print i

2-6

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

a=int(raw_input("please input a number:"))
#a=6
if a>0:
print"this number is positive!"
elif a<0:
print"this number is negative!"
else:
print"this number is zero!"

2-7

#从用户那里接受一个字符串输入,然后逐字符显示该字符串,用for循环实现

a=raw_input("please input a string:")
for i in a:
print i

#同样再用while循环实现上述

a=raw_input("please input a string:")
i=0
while i<len(a):
print a[i]
i+=1

2-8

#创建一个包含五个固定数值的列表或元祖,输出他们的和,然后修改代码为接受用户输入数值,分别使用while和for循环实现

#print (reduce(lambda x,y:x+y,range(1,5))) 最简单的一种算法

#for循环:

a=input("please input a list or a tuple:")
#a=[1,2,3,4]
s=0
for i in range(len(a)):
s+=a[i]
print s

#while循环:

a=input("please input a list or a tuple:")
#a=[1,2,3,4]
i=0
s=0
while i<len(a):
s+=a[i]
i+=1
print s

2-9 循环和操作符,创建一个包含五个固定数值的列表或元组,输出他们的平均值

#for循环

a=[1,2,3]
s=0
for i in range(len(a)):
s+=a[i]
print float(s/len(a))

#while 循环

a=input("please input a list or a tuple:")
i=0
s=0
while i<len(a):
s+=a[i]
i+=1
print float(s/len(a))

2-10 带循环和条件判断的用户输入,使用raw_input()函数来提示用户输入一个1和100之间的数,如果用户输入的数满足这个条件,显示成功并退出,否则显示一个错误信息然后再次提示用户输入数值,知道满足条件为止。


while 1:
a=int(raw_input("please input a number:"))
if 1<=a<=100:
print"success!"
break
else:
print"input error!plese input again!"
continue

2-11

#写一个带文本菜单的程序,菜单项如下:(1)取5个数的和;(2)取5个数的平均值;(X)退出,由用户做一个选择,然后执行相应的功能

def Menu():
print"1.get sum of five numbers"
print"2.get average of five numbers"
print"x.Exit"

def Sum():
l=[1,2,3,4,5]
sum=0
for i in l:
sum+=i
i+=1
return sum
def Ave():
sum=Sum()
ave=float(sum)/5
return ave
while True:
Menu()
choice=input("please choice one:")
if choice==1:
sum=Sum()
print"sum is %d"%sum
elif choice==2:
ave=Ave()
print"average is %f"%ave
elif choice==‘x‘:
break
else:
print"wrong choice,please choose again!"

2-15

#让用户输入3个数值并将分别将他们保存到3个不同的变量中,不使用列表或排序算法
#从小到大
while True:
num1=int(raw_input("please input num1:"))
num2=int(raw_input("please input num2:"))
num3=int(raw_input("please input num3:"))
if num1>num2:
tmp=num1
num1=num2
num2=tmp
if num2>num3:
tmp=num2
num2=num3
num3=tmp
if num1>num2:
tmp=num1
num1=num2
num2=tmp
print "from min to max is %d,%d,%d"%(num1,num2,num3)
#从大到小:
while True:
num1=int(raw_input("please input num1:"))
num2=int(raw_input("please input num2:"))
num3=int(raw_input("please input num3:"))
if num1<num2:
tmp=num1
num1=num2
num2=tmp
if num2<num3:
tmp=num2
num2=num3
num3=tmp
if num1<num2:
tmp=num1
num1=num2
num2=tmp
print "from max to min is %d,%d,%d"%(num1,num2,num3)

python核心编程第二版练习题答案

标签:his   osi   操作符   接受   int   lease   包含   不同   one   

原文地址:http://www.cnblogs.com/zqq521/p/6218196.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!