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 ...
随机推荐
- Linux如何查看进程、杀死进程、查看端口等常用命令
查看进程号 1.ps 命令用于查看当前正在运行的进程.grep 是搜索 例如: ps -ef | grep java表示查看所有进程里 CMD 是 java 的进程信息2.ps -aux | grep ...
- <转>Windows平台下Makefile学习笔记(一)
本文转自:http://blog.csdn.net/clever101/article/details/8147352 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发 ...
- linux本地文件上传之RZ/SZ和sftp
将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令. 1.软件安装 (1)编译安装 root 账号登陆后, ...
- C#写csv文件
1.在项目中经常需要把报表下载为csv格式的文件,如何在C#中写csv文件,以下为一个简化的例子,不使用任何控件,旨在说明用法. 前端view 下载结果 2.创建一个MVC项目(Intranet Ap ...
- curl命令测试https
curl -vosa --resolve pic.test.net::222.241.7.179 https://pic.test.net/UploadFiles/201312031744347965 ...
- Visual Assist X安装路径
C:\Users\系统用户名\AppData\Local\Microsoft\VisualStudio\VS版本号\Extensions\VAX插件目录\
- [转]const指针与指向const的指针
经常忘记,保存一下.. #include <iostream> using namespace std; int main(int argc, char *argv[]) { ; int ...
- 自己定义popupwindow二三事
效果图: 代码: public class ViewActivity extends Activity implements View.OnClickListener { PopupWindow po ...
- android常用权限
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...
- java基础之概谈xml文件解析
XML已经成为一种非常通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便. 诸多web应用框架,其可配置的编程方式,给我们的开发带来了非常大程度的便捷,但细细 ...