2–5. 循 环 和数字
分 别使用while 和for 创建一个循 环:
(a) 写一个while 循 环, 输出整数从0 到10。(要确保是从0 到10, 而不是从0 到9 或从1 到10)
i = 0
while i <+10:
print i
i +=1
(b) 做同 (a) 一 样的事, 不 过这 次使用 range() 内建函数。
for i in range(0,11):
print i
2–6. 条件判断 判断一个数是正数, 还是 负数, 或者等于0. 开始先用固定的数 值,然后修改你的代 码支持用 户输 入数值 再进 行判断。
i = int(raw_input('Please enter a number:') )
if i >0: print '%d是正数。'%i
if i == 0: print '这是0.' %i
if i < 0: print '%d是负数。'%i
2–7.
循 环和字串 从用 户那里接受一个字符串 输入,然后逐字符 显示 该字符串。先用while 循
环实现 ,然后再用 for 循 环实现。
while循环:
l = raw_input('please enter a string:')
i = 0
while i < len(l):
print l[i]
i += 1
for 循环:
l = raw_input('please enter a string:')
for i in range(len(l)):
print l[i]
循 环2–8. 循 环和运算符 创建一个包含五个固定数 值的列表或元 组, 输出他 们的和。然后修改你的代 码为接受用 户输 入数值 。 分别使用while 和for 循 环实现 。
while循环:
L = [1,2,3,4,5]
s = 0
i = 0
while i < len(L):
s += L[i]
i += 1
print s
for 循环:
L = [1,2,3,4,5]
s = 0
for i in range(0,len(L)):
s += L[i]
i += 1
print s
L = []
i = 1
print 'Please enter 5 numbers:'
while True:
num = int(raw_input('please enter a number %d:'%i))
i += 1
L.append(num)
if len(L) ==5:
break
s = 0
for i in range(0,len(L)):
s += L[i]
i += 1
print s
2–9.
循 环和运算符 创建一个包含五个固定数 值的列表或元 组, 输出他 们的平均 值。本 练习 的难点之一是通 过除法得到平均 值。 你会 发现 整数除会截去小数,因此你必 须使用浮点除以得到更精确的 结果。 float()内建函数可以帮助你 实现这 一功能。
L = [1,2,3,4,5]
s = sum(L)
average = float(s/len(L))
print average
2–10.
带 循环 和条 件判 断的用 户输 入 使用raw_input()函数来 提示用 户输入一 个1 和100 之间 的数 ,如果用户输 入的 数满足 这个条 件,显 示成功 并退出。否 则显 示一个错误 信息然后再次提示用 户输入 数值 ,直到满 足条 件为 止。
while True:
value = int(raw_input('please enter a number between 1 and 100:'))
if not 1 < value < 100:
print 'sorry,you enter a wrong number, please try again.'
continue
else:
print 'Great!'
break
2–11.
带 文本菜单 的程序 写一个 带文本菜 单的程序,菜 单项 如下(1)取五个数的和 (2) 取五个数的平均 值....(X)退出。由用 户做一个 选择 ,然后执 行相 应的功能。当用 户选择 退出时 程序结 束。这 个程序的有用之 处在于用 户在功能之 间切 换不需要一遍一遍的重新启 动你的脚本。( 这对 开发 人员测试 自己的程序也会大有用 处)
L = []
i = 1
print 'Please enter 5 numbers:'
while True:
num = int(raw_input('please enter a number %d:'%i))
i += 1
L.append(num)
if len(L) ==5:
break
s = sum(L)
average = float(s/len(L))
print """
please select an option:
1. claculate the sum of 5 numbers.
2. calculate the average of 5 numbers.
Enter 0 to quit.
"""
option = input('>')
if option == 1: print s
if option == 2: print average
if option == 0: break
(这个题目最后选择退出不会,期待高手指导)
2–15. 元素排序
(a) 让用 户输 入三个数值 并将分 别将它 们保存到3个不同的 变量中。不使用列表或排序算法,自己写代 码来 对这 三个数由小到大排序。(b)修改(a)的解决方案,使之从大到小排序
a = input('a = ')
b = input('b = ')
c = input('c = ')
if a > b:
a,b = b,a
if a > c:
a,c = c,a
if b > c:
b,c = c,b
print "从小到大排序: %d<%d<%d"%(a,b,c)