《Python核心编程》第2章 快速入门 练习

来源:互联网 发布:淘宝微淘如何发买家秀 编辑:程序博客网 时间:2024/05/01 01:41
2–3. 数值和运算符

启动交互解释器,使用 Python对两个数值(任意类型)进行加、减、乘、除运算。然后使用取余运算符来得到两个数相除的余数, 最后使用乘方运算符求A 数的B 次方。

# coding=utf-8__author__ = 'Ibuki Suika'print(1 + 2)print(2 - 1)print(3.0 * 1.2)print(3.0 / 2)print(3 % 2)print(2 ** 10)

2–4. 使用raw_input()函数得到用户输入
(a) 创建一段脚本使用 raw_input() 内建函数从用户输入得到一个字符串,然后显示这个用户刚刚键入的字符串。
(b) 添加一段类似的代码,不过这次输入的是数值。将输入数据转换为一个数值对象,(使用 int()或其它数值转换函数) 并将这个值显示给用户看。(注意,如果你用的是早于1.5的版本,你需要使用 string.ato*() 函数执行这种转换)

# coding=utf-8__author__ = 'Ibuki Suika's = raw_input('please input a string: ')print('the string you input: %s' % s)i = int(raw_input('please input an integer: '))print('the integer you input: %d' % i)

2–5. 循环和数字
分别使用while 和for 创建一个循环:
(a) 写一个while 循环,输出整数从0 到10。(要确保是从0 到10, 而不是从0 到9 或从1 到10)
(b) 做同 (a) 一样的事, 不过这次使用 range() 内建函数。

# coding=utf-8__author__ = 'Ibuki Suika'i = 0while i <= 10:    print i,    i += 1printfor i in range(11):    print i,

2–6. 条件判断

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

# coding=utf-8__author__ = 'Ibuki Suika'num = input('please input an integer: ')if num == 0:    print('zero')elif num % 2 != 0:    print('odd')else:    print('even')

2–7.循环和字串

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

# coding=utf-8__author__ = 'Ibuki Suika's = raw_input('please input a string: ')i = 0while i < len(s):    print(s[i])    i += 1for ch in s:    print(ch)

2–8. 循环和运算符

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

# coding=utf-8__author__ = 'Ibuki Suika's = input('please input a tuple: ')i = 0total = 0while i < len(s):    total += s[i]    i += 1print(total)total = 0for v in s:    total += vprint(total)

2–9.循环和运算符

创建一个包含五个固定数值的列表或元组,输出他们的平均值。本练习的难点之一是通过除法得到平均值。 你会发现整数除会截去小数,因此你必须使用浮点除以得到更精确的结果。 float()内建函数可以帮助你实现这一功能。

# coding=utf-8__author__ = 'Ibuki Suika's = input('please input a tuple: ')i = 0total = 0for v in s:    total += vaverage = float(total) / len(s)print(average)

2–10.带循环和条件判断的用户输入

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

# coding=utf-8__author__ = 'Ibuki Suika'num = 0while True:    num = int(raw_input('please input an integer between 1 and 100: '))    if 1 <= num <= 100:        print('succeed')        break    else:        print('out of bound')

2–11.带文本菜单的程序

写一个带文本菜单的程序,菜单项如下(1)取五个数的和 (2) 取五个数的平均值....(X)退出。由用户做一个选择,然后执行相应的功能。当用户选择退出时程序结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启动你的脚本。(这对开发人员测试自己的程序也会大有用处)

# coding=utf-8__author__ = 'Ibuki Suika'def menu():    print('1. Sum')    print('2. Average')    print('3. Exit')    choose = input('select: ')    return choosedef total(tt):    s = 0    for v in tt:        s += v    return sdef average(tt):    return float(total(tt)) / len(tt)while True:    choose = menu()    if choose != 3:        t = input('please input a tuple: ')        if choose == 1:            print(total(t))        else:            print(average(t))    else:        break

2–15. 元素排序
(a)让用户输入三个数值并将分别将它们保存到3个不同的变量中。不使用列表或排序算法,自己写代码来对这三个数由小到大排序。

(b)修改(a)的解决方案,使之从大到小排序

# coding=utf-8__author__ = 'Ibuki Suika'a = input('a=')b = input('b=')c = input('c=')if a > b:    a, b = b, aif b > c:    b, c = c, bif a > b:    a, b = b, aprint a, b, cif a < b:    a, b = b, aif b < c:    b, c = c, bif a < b:    a, b = b, aprint a, b, c





0 0
原创粉丝点击