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 ...
随机推荐
- Android模拟屏幕点击input tap替代解决方案
动机解释 本来直接使用 adb shell -> input 即可模拟 键盘事件,触屏事件keyevent ,text,tap 但是手上的这台目标Android机4.0.3系统的input只支持 ...
- 模拟和数字低通滤波器的MATLAB实现
低通滤波器参数:Fs=8000,fp=2500,fs=3500,Rp=1dB,As=30dB,其他滤波器可以通过与低通之间的映射关系实现. %%模拟滤波器 %巴特沃斯——滤波器设计 wp=2*pi*2 ...
- poj 3537 Crosses and Crosses 博弈论之grundy值
题意: 给1*n的格子,轮流在上面叉叉,最先画得3个连续叉叉的赢.问先手必胜还是必败. 分析: 求状态的grundy值(也就是sg值),详细怎么求详见代码.为什么这么求要自己想的,仅仅可意会(别人都说 ...
- ANDROID常用的命令(转载,后续自己完善)
1.adb devices:查看当前已连接的设备.2.adb shell:进入android的shell模式.3.echo 3>/proc/sys/vm/drop_caches:清除一下系统的c ...
- PHP压缩上传图片
最近手上的项目页面要显示很多图片,虽然用了jQuery的lazyload,但是效果并没理想,滑动到一个区域还要比较长的时间图片才完全显示出来.于是想着将上传上去的900KB+压缩备份一份缩略图. PH ...
- linux centos apache开启gzip的方法
开启gzip压缩的方法很简单,连接服务器并打开配置文件“httpd.conf”,找到下面这两句,去掉前面的“#” 代码如下 1 LoadModule deflate_module modules/m ...
- 【Axure插件】之浏览器打开失败
下载地址:https://files.cnblogs.com/files/Owen-ET/AxureRP_for_chorme_0_6_2.xml 下载后的文件后缀修改为:AxureRP_for_ch ...
- synchronized是什么
在再有人问你Java内存模型是什么,就把这篇文章发给他中我们曾经介绍过,Java语言为了解决并发编程中存在的原子性.可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchron ...
- Python读取word文档(python-docx包)
最近想统计word文档中的一些信息,人工统计的话...三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.read ...
- ubuntu 及 postgredql 安装配置小坑摘录
ubuntu 16.04.1 安装 Ubuntu Server 16.04.1安装配置图解教程,按教程修改局域网static IP 开启sftp必须 解决SSH服务拒绝密码,之后才能欢乐地使用file ...