Python小记6

https://www.cnblogs.com/airlinp/p/12522620.html

8.4 循环计算

程序中,利用循环流程,进行重复计算。

实例演示:

利用循环以及赋值运算等,计算1-100的和。

按照数学等差数列公式,可以轻松得出“和”s=(1+100)*100/2,但是现在我们需要使用程序循环,进行原始的方法计算,s=1+2+3+4…+100

# 0-100求和
# 定义计数器,初始化
i = 1
# 定义最终结果变量,初始化
s = 0
# 循环条件
while i <= 100:
    # 累计求和
    s += i
    # 计数器累加
    i += 1
print("1-100求和结果是%d" % s)

由上述代码可知:

  • 在此例子中,需要定义2个变量,分别为i用于计数器、s用于存储累加结果;
  • 根据原始计算方法的思想,s=1+2+3+4…+100,而其中1、2、3、4…100则是循环递增的整数,使用i来进行代替;
  • 1、2、3、4…100的形式,在程序中使用i+=1的方式来循环表达,那么将s带入后的s=s+i,即s+=1循环计算求和;

 由上图可知:

  • 1-100累加求和,运用到了while循环,+=赋值运算符,除开几行注释,仅使用6行代码,即可解决需求;
  • 1-100累加求和的例子,将人脑最直观、最原始的计算逻辑,通过程序的方式,进行变通表达,程序员设计和传递思想逻辑,程序进行最繁琐的运算,最终解决问题,这就是程序的魅力之一;

 

8.5 1-100中所有偶数求和

首先明确偶数的意义,就是能被2整除的整数;

# 1-100中的偶数求和
# 定义计数器,初始化
i = 1
# 定义最终结果变量,初始化
s = 0
# 循环条件
while i <= 100:
# 判断偶数
if i % 2 == 0:
s += i
# 计数器累加
i += 1
print("1-100中所有偶数求和结果是%d" % s)

有上述代码可知:

  • 在前一节的1-100累加求和中,我们使用到了计数器i和求和结果s这两个变量,在1-100中所有偶数求和,依然要用到这两种变量;
  • 在程序中,判断一个正整数是否为偶数,则使用“%”取余运算符,整数除以2余数为0,则该整数就是偶数,表达式为i%2==0;
  • 明确上述两点后,就可以按照8.4章节中求和的代码逻辑即可解决需求;
  • 尤其注意,在i += 1 前面的缩进块,一定不要与s += 1对齐,否则i += 1循环计数就属于if偶数判断的代码块,进入运算死循环,我就由于这种粗疏,导致程序死循环,可见仅仅一个tab,就可以使程序变成死循环,Python对格式的要求果然很严格;

 

posted @ 2020-03-20 16:01  凶狠的木头哥  阅读(189)  评论(0编辑  收藏  举报