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 ...
随机推荐
- java精确除法计算,四舍五入 Java问题通用解决代码
主要用java.math.BigDecimal工具类实现,想要了解BigDecimal类可以看java api 正式版: public static Double divide() ...
- Linux下Java、Maven、Tomcat的安装
1.安装Java(此处假定安装文件夹位/usr/local) 1)下载jdk(jdk-7),下载地址例如以下: 32位:http://download.oracle.com/otn-pub/java/ ...
- ROS多个网段做隔离
ROS路由器有多个LAN口,网段分别是 192.168.0.0/24 和 192.168.1.0/24. 用192.168.1.0/24做为访客使用,因此在路由器上面设置过滤器. /ip firewa ...
- oracle分区表和分区索引概述
㈠ 分区表技术概述 ⑴ Range 分区 ① 例子 create table t (...列定义...) ...
- 一个方便的图片载入框架——ImageViewEx
我的博客:http://mrfufufu.github.io/ 一.前言 近期在整理项目中的一些代码,以备即将开展的新项目中使用,刚刚整理到一个图片载入的 lib.用起来很的简单,和 picasso ...
- 大师养成计划之一:搭建springmvc框架
搭建spring-mvc框架 搭建spring-mvc框架步骤: 1.搭建web项目spring-mvc1 2.引入jar包 3.配置web.xml 3.1拷贝头文件: <web-app xml ...
- 改进Spring中的分页技术
Spring中有一个PagedListHolder,能够实现分页. 但此类有几个缺点: 1. 使用此类的代码比較繁琐 2. 此类存放的数据源是全部的记录集,即对于记录数为1000条的数据,即使我们仅仅 ...
- Rancher探秘一:初识Rancher
前言:最近公司需要导入k8s管理,看了一些rancher相关内容,在此做一记录,rancher系列会根据进展不定期更新. Rancher是什么? Rancher是一个开源的企业级容器管理平台.通过Ra ...
- Python小白的发展之路之Python基础(二)【字符串、列表、集合、文件操作】
列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表.元组操作 (1)列表 列表是可变的(mutable)——可以改变列表的内容,这不同于字符串和元组,字符串和元组都是不 ...
- SuperAgent使用文档
SuperAgent是一个轻量级.灵活的.易读的.低学习曲线的客户端请求代理模块,使用在NodeJS环境中.官方文档:http://visionmedia.github.io/superagent 简 ...