2-4 使用raw_input()函数得到用户输入。
(a)创建一段脚本使用raw_input()内建函数从用户输入得到一个字符串,然后显示这个用户刚刚键入的字符串。
(b)添加一段类似代码,不过这次输入的是数值。将输入的数据转化为一个数值对象并将这个数值显示给用户看。
2-5 循环和数字
分别使用while和for创建一个循环。
(a)写一个while循环 ,输出整形为0~10
count = 0
while count < 11:
print count
count += 1
运行结果如下
(b)做同(a)一样的事情,不过这次用range()内建函数
for i in range(11):
print i
2-6 条件判断。 判断一个数是正数,还是负数,或者是零,开始先用固定的数值,然后修改你的代码,支持用户输入数值再进行判断。
num = int(raw_input('enter a number:'))
if num < 0:
print "你输入的是负数“
elif num >0:
print "你输入的是正数”
else:
print "你输入的是零“
2-7 循环和字串。 从用户那里接受一个字符串输入,然后逐字显示该字符串,先用while循环实现,然后再用for循环实现。
while循环:
str = "This is a test string"
count = 0
while count < len(str):
print str[count]
count += 1
for循环:
for i in str:
print i
2.8 循环和操作符。创建一个包含五个固定是指的列表或元组,输出它们的合,然后修改你的代码为接受用户输入数值。分别使用while和for循环实现。
while循环:
enter_num = raw_input('enter fif numbers:')
num = enter_num.split(' ')
sum ,count = 0, 0
while count < len(num):
sum += int(num[count])
count += 1
print sum
for循环
enter_num = raw_input('enter fif numbers:')
num = enter_num.split(' ')
sum = 0
for i in rang(len(num)):
sum += int(num[count])
print sum
在别处看到一个简洁的答案:
sumNumber = raw_input("please enter the numbers:")
evalNumber = '+'.join(sumNumber.split(" "))
print 'the result is:', eval(evalNumber)
2.9 很简单,不记录了
2-10 带循环合条件判断的用户输入。使用raw_input()函数来提示用户输入一个1~100之间的数字,如果输入满足条件,显示成功并退出,否则显示一个错误信息然后再次提示用户输入数值,直到满足条件。
while 1:
num = raw_input('please enter number1~100:')
if int(num)>100 or int(num)<1:
print "you enter worry,enter again"
else:
print "you enter is right,qiut."
break
2–11.带文本菜单的程序 写一个带文本菜单的程序,菜单项如下(1)取五个数的和 (2) 取五个数的平均值....(X)退出。由用户做一个选择,然后执行相应的功能。当用户选择退出时程序结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启动你的脚本。(这对开发人员测试自己的程序也会大有用处)
while 1:
print "(1)取5个数的和.(2)取5个数的平均值.(X)退出"
choice = raw_input('please enter you choice,1 or 2 or X:')
if choice == '1':
num = raw_input("enter fif numbers:")
num1 = num.split(' ')
sum = 0
for i in range(len(num1)):
sum += int(num1[i])
print "the fif number Sum is:",sum
elif choice == '2':
num = raw_input("enter fif numbers:")
num1 = num.split(' ')
sum = 0
for i in range(len(num1)):
sum += int(num1[i])
print "这5个数的平均数是:%f." %(float(sum)/5)
elif choice.lower() == 'x':
print "you will qiut"
break
else:
别人的解:
while True:
try:
evalNum = raw_input("please enter five numbers:")
while True:
cmd = raw_input("1 to add five number, 2 to average five number, and q to exit:")
if cmd.lower() == '1':
print 'sum is:', eval("+".join(evalNum))
elif cmd.lower() == '2':
print 'product is:', eval("*".join(evalNum.split(" ")))
elif cmd.lower() == 'q':
raise "out now!"
else:
print 'wrong cmd!'
continue
except:
break
2–15. 元素排序
(a)让用户输入三个数值并将分别将它们保存到3个不同的变量中。不使用列表或排序算法,自己写代码来对这三个数由小到大排序。(b)修改(a)的解决方案,使之从大到小排序
别人的答案,没做稍后有时间自己做一下
num1 = int(raw_input("enter number1:"))
num2 = int(raw_input("enter number2:"))
num3 = int(raw_input("enter number3:"))
minNum = min([num1, num2, num3])
maxNum = max([num1, num2, num3])
mid = [x for x in [num1, num2, num3] if x != minNum and x != maxNum]
print minNum, mid[0], maxNum