zoukankan      html  css  js  c++  java
  • 04 流程控制(02)

    5、比较for循环和while循环

      计算乘阶:1x2x3x4x...xn,也就是n!;

    # forfact.py
    n = int(input('Enter an integer >= 0: '))
    fact = 1
    for i in range(2,n + 1):
        fact = fact * i
    print(str(n) + ' factorial is ' + str(fact))

      使用while循环实现如下:

    # whilefact.py
    n = int(input('Enter an integer >= 0: '))
    fact = 1 
    i = 2
    while i <= n:
        fact = fact * i
        i = i + 1
    print(str(n) + ' factorial is ' + str(fact))

      因为Python对于整数没有限制,所以Python可以用来计算非常大的数据;

      计算用户输入的数字总和:

    # forsum.py
    n = int(input('How many numbers to sum? '))
    total = 0
    for i in range(n):
        s = input('Enter number ' + str(i + 1) + ': ')
        total = total + int(s)
    print('The sum is ' + str(total))

      使用while循环编写这个代码:

    # whilesum.py
    n = int(input('How many numbers to sum? '))
    total = 0
    i = 1
    while i <= n:
        s = input('Enter number ' + str(i) + ' :')
        total = total + int(s)
        i = i + 1
    print('The sum is ' + str(total))

      计算未知个数的总合:

    # donesum.py
    total = 0
    s = input('Enter a number (or "done"): ')
    while s != 'done':
        num = int(s)
        total = total + num
        s = input('Enter a number (or "done"): ')
    print('The sum is ' + str(total))

      在这个程序下,如果我们一直输入数字,就会一直处于循环中;

        对于这个程序,我们需要注意以下四点:

          1、我们必须在两个地方调用input:循环前面及循环体内。之所以必须这样做,是因为训话你条件判断输入是数字还是‘done’。

          2、在循环体内,语句的排列顺序至关重要。如果循环条件为True,就说明s不是‘done’,所以假定它不是一个整数。因此,我们可以将它转换为整数,将与其综合相加,并让用户接着输入。

          3、仅当确定输入字符串s不是字符串‘done’后,我们才把它转换为整数。则输入‘done’时程序将崩溃。

            s = int(input('Enter a number (or "done"): '))

          4、不再需要计数器变量!。在前面计算总合的程序中,i用于记录用户输入了多少个数字。一般而言,程序包含的变量越少,越容易记忆、理解、调试和拓展。

    6、跳出循环和语句块

      基于上面的程序,我们需要跳出循环,我们使用 break 语句;

    # donesum_break.py
    total = 0
    while True:
        s = input('Enter a number (or "done"))
        if s == 'done':
            break  #jump out of the loop
        num = int(s)
        total = total + num
    print('The sum is ' + str(total))

      【注意:一般使用break语句,是为了让程序更加容易理解】

      与 break 相对应的,continue 语句,continue 语句可以跳出当前循环,进入循环语句的下一次迭代;它不如 break 使用那么常见,但是一般建议避免使用 continue 语句;

    7、循环中的循环

      嵌套循环在编程中非常常见。例如下面的九九乘法表:

    # timetable.py
    for row in range(1,10):
        for col in range(1,10):
            prod = row * col
            if prod < 10:
                print(' ', end = '')
            print(row * col, ' ', end = '')
        print()

  • 相关阅读:
    warning C4018: “<”: 有符号/无符号不匹配
    安装VS提示系统找不到指定路径
    C#调用非托管dll
    指针转引用
    C语言文件操作fclose在NDK引起的BUG
    ADT开发AndroidManifest.xml file missing错误
    利用Visual GDB在Visual Studio中进行Android开发
    OpenCv实现两幅图像的拼接
    C++读取文件夹中所有的文件或者是特定后缀的文件
    WORD2007多级列表
  • 原文地址:https://www.cnblogs.com/BurnovBlog/p/11116707.html
Copyright © 2011-2022 走看看