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 ...
随机推荐
- maven nexus myeclipse 学习
http://b-l-east.iteye.com/blog/1246482 这篇文章比较详细的介绍了 nexus 本地仓库以及与maven的配合使用 http://blog.csdn.net/arv ...
- 应用沙盒(Application Sandbox)
一.应用沙盒目录 应用沙盒包含多个目录: 1.应用程序包:(application bundle):包含所有的资源文件和可执行文件,并且是只读目录. 2.Library/Preferences/:存放 ...
- Atitit.程序包装exe启动器 打包 发布 设计 -生成exe java
Atitit.程序包装exe启动器 打包 发布 设计 -生成exe java 1. 要实现的功能1 2. ahk是个好东东..能启动了...1 3. exe4j vs nativej1 4. 2 ...
- spring事务管理实现方式
声明式事务 tx及aop配置,利于管理,耦合性低,可读性低 @Transactional注解,不利管理,耦合性高,可读性高 编程式事务 TransactionTemplate类,spring推荐方法 ...
- Sql效能优化总结(续)- sql语句优化篇
今晚继续进行Sql效能问题的分享,今天主要是一些具体的sql优化方法和思路分享,若看过后你也有其他想法,欢迎一起探讨,好了,进入今天的主题. 针对性地对一些耗资源严重的具体应用进行优化 出现效能问题时 ...
- Weka关联规则分析
购物篮分析: Apriori算法: 参数设置: 1.car 如果设为真,则会挖掘类关联规则而不是全局关联规则. 2. classindex 类属性索引.如果设置为-1,最后的属性被当做类属性. 3. ...
- Docker-Compose 自动创建的网桥与局域网冲突解决方案
环境: 使用docker-compose.yml 部署应用,docker 默认的网络模式是bridge ,默认网段是172.17.0.1/16 ,不巧的是我们局域网也使用的172.22. xx 网段 ...
- 10 Memcached 一致性哈希分布式算法原理与实现[PHP实现]
<?php header("Content-type:text/html;charset=utf-8"); interface hash{ public function _ ...
- 关于reset.css的那些事
分析过程:body: 发现在没有填写任何内容的情况下是没有margin 的 只有在加入了文字或者div中以后才有了margin(废话)那么 我想问一下 body的padding 默认的有吗??在哪里 ...
- WPF 员工卡条形码
大家都知道条形码(Barcode)是一种可以由机器识别的特殊编码,在生产.生活中也常常会见到并使用它.条形码的类型和种类很多感兴趣的朋友可以详细了解一下.其中Code 39 可以说是一种最为常见并广泛 ...