习题

1.编写程序,使用筛选法求解小于n的所有素数。

2.编写程序,计算小于1000的所有整数中能够同时被5和7整除的最大整数。

3.编写程序,要求用户输入一些数字,输出这些数字中只出现过一次的那些数字。

4.编写程序,要求用户输入一些数字,输出这些数字中的唯一数字。也就是说,如果某个数字出现了多次,只保留一个。

5.编写程序,实现抓狐狸游戏。假设墙上有5个洞(编号分别为0、1、2、3、4),其中一个洞里有狐狸,人类玩家输入洞口编号,如果洞里有狐狸就抓到了;如果洞里没有狐狸就第二天再来抓。但在第二天人类玩家来抓之前,狐狸会跳到隔壁的洞里。

6.编写程序,生成一个包含20个介于1到50之间随机整数的列表,然后使用插入法对给定整数列表中的所有元素升序排序。

7.编写程序,生成一个包含20个介于1到50之间随机整数的列表,将其循环左移5个元素。所谓循环左移是指,每次移动时把列表最左侧的元素移出列表然后追加到列表尾部。

8.给定一个包含若干数字的列表A,编写程序计算满足0≤a≤b<n(其中n为序列长度)的A[b]-A[a]的最大值。

9.6岁的小明上楼梯,一步只能迈1个或3个台阶,现在有段15个台阶的楼梯,要想上到第15个台阶,编写程序计算小明有多少种上法。

10.写出下面程序的运行结果。

    1.  s = 0
    2.  for i in range(1,101):
    3.      s += i
    4.  else:
    5.      print(1)

11.写出下面程序的运行结果。

    1.  s = 0
    2.  for i in range(1,101):
    3.      s += i
    4.      if i == 50:
    5.         print(s)
    6.         break
    7.  else:
    8.      print(1)

12.下面的程序是否能够正常执行,若不能,请解释原因;若能,请分析其执行结果。

    1.  from random import randint
    2.
    3.  result = set()
    4.  while True:
    5.      result.add(randint(1,10))
    6.      if len(result)==20:
    7.         break
    8.  print(result)

13.编写程序,让用户输入一个整数,如果输入的是正数就输出1,如果输入的是负数就输出-1,否则输出0。