《Python程序设计》习题与答案 下载本文

x = input('Please input an integer of 4 digits meaning the year:') if x@0==0 or (x%4==0 and not x0==0): print 'Yes' else:

print 'No'

3.3 编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数。(提示:从后向前删。)

答: import random

x = [random.randint(0,100) for i in range(50)] print(x) i = len(x)-1 while i>=0: if x[i]%2==1: del x[i] i-=1 print(x)

把上面的代码中第三行和最后一行改为print x即可。

34 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)

答: import random

x = [random.randint(0,100) for i in range(20)] print(x) y = x[::2]

y.sort(reverse=True) x[::2] = y print(x)

把上面的代码中第三行和最后一行改为print x即可。

35 编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。例如,10=2×5,60=2×2×3×5。

答:

x = input('Please input an integer less than 1000:') x = eval('x')

t = x i = 2 result = [] while True: if t==1: break if t%i==0:

result.append(i) t = t/i else: i+=1

Print x,'=','*'.join(map(str,result))

x = input('Please input an integer less than 1000:') t = x i = 2 result = []

while True: if t==1: break if t%i==0:

result.append(i) t = t/i else: i+=1

print x,'=','*'.join(map(str,result))

3.6 编写程序,至少使用2种不同的方法计算100以内所有奇数的和。 x = [i for i in range(1,100) if i%2==1] print(sum(x))

print(sum(range(1,100)[::2]))

3.7 编写程序,实现分段函数计算,如下表所示。

x y x<0 0