Python核心编程 课后练习 第二章
2.4 使用raw_input()函数得到用户输入.
(a) 创建一段脚本使用raw_input()函数从用户输入得到一个字符串, 然后显示这个用户杠杠输入的字符串.
#coding = utf-8
str1 = raw_input("Enter a string please -->")
print "The string you just entered is: %s" %str1
(b)添加一段类似的代码, 不过这次输入的数值....
# coding = utf-8
num = int(raw_input("Enter a number please -->"))
print "The number you just entered is: %d" %num
2.5 循环和数字
分别使用while和for创建一个循环
(a) 写一个while循环,输出整形为0~10(确保是0~10, 而不是0~9 或1~10)
num = 0
while num <=10:
print num
num += 1
(b) 使用range函数实现(a)
for num in range(0,11): #注意此处range的第二个参数不包含在循环内.
print num
2.6 条件判断, 判断一个数是整数,还是负数,或者0. 开始先用固定的值, 然后修改你的代码支持用户输入数字再进行判断.
#num = 10
num = int(raw_input("Enter a number please -->"))
if num > 0:
print "%d is greater than 0" %num
elif num < 0:
print "%d is smaller than 0" %num
else:
print "%s is equal to 0" %num
2.7 循环和字串, 从用户那里接受一个字符串输入, 然后逐字符显示该字符串. 先用while循环实现,然后再用for循环实现.
(a) # coding = utf-8
str1 = raw_input("Enter a string please -->")
numbers = 0
while numbers <= len(str1)-1:
print str1[numbers]
numbers += 1 # 写这个小片段时, 犯了两个小错误, 1. 忘记numbers自增. 2. 越界一次.
(b) # coding = utf-8
str1 = raw_input("Enter a string please -->")
for ch in str1:
print ch
2.8 循环和操作符. 创建一个包含五个固定数值的列表或元祖, 输入他们的和. 然后修改你的代码为接受用户输入数组, 分别用while 和for循环实现.
(a) while
# coding = utf-8
lt = [1,2,3,4,5,6,7,8,9]
num = 0
total = 0
while num < len(lt):
total += lt[num]
num += 1
(b) for
lt = [1,2,3,4,5,6,7,8,9]
total = 0
for num in lt:
total += num
(c) 用户输入创建列表
lt = []
i = 0
total = 0
while i < 10:
print "You need enter 10 numbers to create the list %d left" %(10-i)
num = int(raw_input('Enter your number -->'))
lt.append(num)
i += 1
(d)使用reduce实现
lt = [1,2,3,4,5,6,7,8,9,10]
def addup(num1, num2):
return num1 + num2
total = reduce(addup,lt) #竟然如此简单加列表构造在一起一共4行代码.
2.9 循环和操作符, 创建一个包含五个固定数值的列表货元组, 输入他们的平均值.
lt = [1,2,3,4,5,6,7,8,9,10]
avg = float(sum(lt)) / len(lt)
2.10 带循环和条件判断的用户输入, 使用raw_input函数来提示用户输入一个1和100之间的数, 如果用户输入满足这个条件,显示成功并退出. 否则提示一个错误信息然后再次提示用户输入数值, 知道满足条件为止
while True:
num = int(raw_input("Enter a number between 1 and 100 -->"))
if 1 < num < 100:
print "bingo"
else:
print "The number you entered is not between 1 and 100."
2.11 带文本菜单的程序: 写一个带文本菜单的程序, 菜单项如下: (1)取五个数的和, (2)取五个数的平均值, (x)退出. 由用户做一个选择,然后执行相应的功能, 当用户选择脱时程序结束.
lt = range(1,11)
action = raw_input('What do you wanna do with this list, \
(1) "sum" to get the sum.\
(2) "avg" to get the average.\
(3) "x" to quit -->')
if action == 'sum':
print "The sum of the list is %d" %sum(lt)
elif action == 'avg':
print "The average value of the list is %f" %(float(sum(lt)) / len(lt))
elif action.lower() == "x":
exit()
2.15 元素排序
从大到小:
a = int(raw_input("Enter a number for a -->"))
b = int(raw_input("Enter a number for b-->"))
c = int(raw_input("Enter a number for c-->"))
if a >= b:
if b >=c:
print a,b,c
elif a >=c:
print a,c,b
else:
print c,a,b
elif a >= c:
print b,a,c
elif b >=c:
print b,c,a
else:
print c,b,a
从小到大:
if a >= b:
if b >=c:
print c,b,a
elif a >=c:
print b,c,a
else:
print b,a,c
elif a >= c:
print c,a,b
elif b >=c:
print a,c,b
else:
print a,b,c
Python核心编程 课后练习 第二章的更多相关文章
- 《Python核心编程》 第四章 Python对象- 课后习题
练习 4-1. Python对象.与所有Python对象有关的三个属性是什么?请简单的描述一下. 答:身份.类型和值: 身份:每一个对象都有一个唯一的身份标识自己,可以用id()得到. 类型:对象的 ...
- Python核心编程2第四章课后练习
4-1 Python 对象.与所有 Python 对象有关的三个属性是什么?请简单的描述一下. 身份:对象的唯一标识 类型 :对象的类型决定了该对象可以保存什么类型的值 ...
- 《Python核心编程》 第六章 序列 - 课后习题
课后习题 6–1.字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? 答:成员关系操作符(in.not in) import string ...
- 《Python核心编程》 第五章 数字 - 课后习题
课后习题 5-1 整形. 讲讲 Python 普通整型和长整型的区别. 答:普通整型是绝大多数现代系统都能识别的. Python的长整型类型能表达的数值仅仅与你机器支持的(虚拟)内存大小有关. 5- ...
- Python核心编程课后习题-第六章
1. 字符串, string模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? str1 = 'abcdefghijklmnopqrstuv' print st ...
- Python 核心编程 课后习题 第五章
2. 操作符. (a) 写一个函数, 计算并返回两个数的乘积. (b) 写一段代码调用这个函数, 并显示它的结果. def multi(a,b): return a * b result = mult ...
- Python核心编程2第五章课后练习
5-1 整型,讲讲python普通整型与长整型区别 python整形一共有三种:布尔型,长整型和标准整型.普通整型与长整型的区别在于标准整形的取值范围是-2^31到2^31-1,长整型所能表达的数值与 ...
- Python核心编程2第三章课后练习
1. 标识符.为什么Python 中不需要变量名和变量类型声明? Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程.每个变量在内存中创建,都包括变量的标识,名称和数据这些信息.每 ...
- Python核心编程2第六章课后练习
6-1 字符串 .string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? #!/usr/bin/env python def contain(str1 ...
随机推荐
- 个人shell积累
1:bc 计算器2:ps:列出用户的进程3:more 有三种用法 $more filename 显示文件内容 $command | more 将command命令的输出分页显示 $more < ...
- 获取bundle文件下的资源
NSBundle* bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle].resourcePath stringByAppendingPat ...
- memcache和memcached区别
Memcache是一个自由和开放源代码.高性能.分配的内存对象缓存系统.用于加速动态web应用程序,减轻数据库负载.它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间 ...
- systemd管理进程
systemd很强大的管理工具,这里简单用来管理一个进程: [Unit]Description=Imges Compress Server [Service]Type=simpleExecStart= ...
- Linux系统控制文件 /etc/sysctl.conf详解
/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sysctl.conf参数解释: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...
- 【数据挖掘】分类之kNN(转载)
[数据挖掘]分类之kNN 1.算法简介 kNN的思想很简单:计算待分类的数据点与训练集所有样本点,取距离最近的k个样本:统计这k个样本的类别数量:根据多数表决方案,取数量最多的那一类作为待测样本的类别 ...
- python selenium - SSL处理(https)
在实际的自动化测试实践中,因为越来越多的站点接入https,使得我们原有的python selenium2自动化测试代码进行测试时,浏览器总是报安全问题,即便在浏览器选项中将被测网址加入信任网址也没用 ...
- 嵌入式开发之web服务器---boa移植
近段时间在做ti8148的编解码器又涉及到boa web服务器的移植.在移植到ARM开发板的过程中,遇到很多的问题.原先的自带thttpd 由于功能没有boa完善,比如在ubuntu下面的utf-8编 ...
- JavaScript提高:002:ASP.NET使用easy UI实现tab效果
近期在做ASP.NET项目中,须要实现一个tab页控件. 发现asp.net控件中没找到现成的. 一般的实现都须要js和div配合.于是就用到了easyui里面的. 使用也非常easy.将easyui ...
- python mysql orm
Python中操作mysql的pymysql模块详解:https://www.cnblogs.com/wt11/p/6141225.html Python 12 - Mysql & ORM:h ...