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核心编程 课后练习 第二章的更多相关文章

  1. 《Python核心编程》 第四章 Python对象- 课后习题

    练习 4-1. Python对象.与所有Python对象有关的三个属性是什么?请简单的描述一下. 答:身份.类型和值: 身份:每一个对象都有一个唯一的身份标识自己,可以用id()得到.  类型:对象的 ...

  2. Python核心编程2第四章课后练习

    4-1 Python 对象.与所有 Python 对象有关的三个属性是什么?请简单的描述一下.      身份:对象的唯一标识      类型 :对象的类型决定了该对象可以保存什么类型的值       ...

  3. 《Python核心编程》 第六章 序列 - 课后习题

    课后习题 6–1.字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? 答:成员关系操作符(in.not in) import string ...

  4. 《Python核心编程》 第五章 数字 - 课后习题

    课后习题  5-1 整形. 讲讲 Python 普通整型和长整型的区别. 答:普通整型是绝大多数现代系统都能识别的. Python的长整型类型能表达的数值仅仅与你机器支持的(虚拟)内存大小有关. 5- ...

  5. Python核心编程课后习题-第六章

    1. 字符串, string模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? str1 = 'abcdefghijklmnopqrstuv' print st ...

  6. Python 核心编程 课后习题 第五章

    2. 操作符. (a) 写一个函数, 计算并返回两个数的乘积. (b) 写一段代码调用这个函数, 并显示它的结果. def multi(a,b): return a * b result = mult ...

  7. Python核心编程2第五章课后练习

    5-1 整型,讲讲python普通整型与长整型区别 python整形一共有三种:布尔型,长整型和标准整型.普通整型与长整型的区别在于标准整形的取值范围是-2^31到2^31-1,长整型所能表达的数值与 ...

  8. Python核心编程2第三章课后练习

    1. 标识符.为什么Python 中不需要变量名和变量类型声明? Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程.每个变量在内存中创建,都包括变量的标识,名称和数据这些信息.每 ...

  9. Python核心编程2第六章课后练习

    6-1 字符串 .string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? #!/usr/bin/env python def contain(str1 ...

随机推荐

  1. Jenkins Docker 插件

    原文地址:https://wiki.jenkins.io/display/JENKINS/Docker+Plugin Created by magnayn -, last modified by Ni ...

  2. [转] 查看HDFS文件系统数据的三种方法

    1.使用插件——Hadoop-Eclipse-Plugin此方法需要借助Eclipse,插件的安装及使用请参考博文使用Eclipse编译运行MapReduce程序_Hadoop2.6.0_Ubuntu ...

  3. script 标签 幼儿园级别的神坑。居然还让我踩到了。

    这样的写法,会导致页面出现问题,就类似被中断了一样,百思不得其解还以为是代码出了问题. <script src="./Components/ProcessLine/ProcessLin ...

  4. css 控制文本显示两行 超过省略号显示

    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; word-break: break-all; ov ...

  5. 标准库 - 输入输出处理(input and output facilities) lua

    标准库 - 输入输出处理(input and output facilities)责任编辑:cynthia作者:来自ITPUB论坛 2008-02-18 文本Tag: Lua [IT168 技术文档] ...

  6. Java IO 常用类简介

    字节流 输入字节流 InputStream输入字节流的抽象类 ByteArrayInputStreambyte数组输入流 FileInputStream文件输入流 PipedInputStream管道 ...

  7. 《TomCat与Java Web开发技术详解》(第二版) 第四章节的学习总结--常用Servlet API

    要开发Servlet,自然要掌握常用的servlet的相关API.通过此章节的学习,了解到如下常用API 1.Servlet接口--->GenericServlet抽象类(实现Servlet接口 ...

  8. 搭建apphouse(docker镜像私服)

    1.下载apphouse,地址为http://www.youruncloud.com/soft.html2.上传AppHouse_v1.0.2.tar到服务器并解压3../apphouse_insta ...

  9. shiro设置session超时

    通过api:Shiro的Session接口有一个setTimeout()方法 //登录后,可以用如下方式取得session SecurityUtils.getSubject().getSession( ...

  10. redis 集群 搭建

    环境: centos6.5 192.168.16.11 centos6.5 192.168.16.12 centos6.5 192.168.16.13 三台虚拟机模拟9个节点,一台机器3个节点,创建出 ...