• 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

  • 相关阅读:
    多态的理解
    成员变量与实例变量&成员方法与构造方法&构造代码块和静态代码块&静态与非静态&重写与重载的区别
    Java的基本数据类型和基本数据类型之间的转换
    如何使float精确两位小数或多位小数
    Servlet程序的生命周期
    配置axios全局拦截器
    SpringCloud-Sentinel实现服务限流、熔断、降级,整合Nacos实现持久化
    Nginx+Lua OpenResty环境搭建
    Java-线程池面试题
    Rabbitmq死信队列
  • 原文地址:https://www.cnblogs.com/chen0427/p/5420748.html
Copyright © 2020-2023  润新知