python练习案例05之while循环

1,070 阅读4分钟

这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战

题目1:

使用while循环输出1 2 3 4 5 6 8 9 10
 count = 0 ​ while count < 10: ​   count+=1 ​   if(count != 7): ​ •    print(count)

解题思路:

这题比较简单,就是打印1-10除了7之外的数

  1. 我们先想简单一点,用循环打印出1-10

     count = 0 ​ while count <= 10: ​   print(count) ​   count += 1
    

    注:新手要注意不能少了count += 1,为了使程序趋于结束

    2.然后把7剔除掉,不打印,就是只要不是7就打印,所以加个条件判断

     if(count != 7):         print(count)
    

    3.最终代码就是

     count = 0 ​ while count < 10: ​   count+=1 ​   if(count != 7): ​ •   print(count)
    

题目2:

求1-100的所有数的和
 sum = 0 ​ i = 1 ​ while i <= 100: ​   sum += i ​   i+=1 ​ print(sum)

解题思路:

1.题目是让求1-100的和,我们可以缩小一下范围,我们先求1和2的和

 a = 1 b = 2 sum = a + b

2.我们再求1-3的和

 a = 1 b = 2 c = 3 sum = a + b + c

3.但是如果数很多,我们无法这样一个个赋值,所以我们用循环来进行赋值,我们还是用sum来记录总和

 i = 1       # 用 i 来作为初始变量 sum = 0       # sum总和开始为0  while i <= 3:         # 设置循环条件     sum += i     # sum逐个累加i的值     i += 1         # i 逐渐趋于循环结束条件 ​

tip:sum就好比一个大的房子,i就像是一个搬运工,把1-3的数字逐个搬运进来与sum相加

4.然后我们就可以把它改成1-100的数字相加总和,最后把结果打印出来,最终代码:

 i = 1 sum = 0 while i <= 100:     sum += i     i += 1 print(sum)

题目3:

输出 1-100 内的所有奇数
 i = 1 ​ while i <= 100: ​   if(i%2 != 0): ​ •    print(i) ​   i+=1

1.我们还是将它缩小范围,先输出1-5的数吧,用循环的方式

 i = 1 while i <= 5:     print(i)     i += 1

2.然后是我们再加个条件判断把奇数过滤出来,奇数和偶数区别就是能否被2整数,也就是说这个数除以2如果余数为0则为偶数,余数不为0则为奇数,我们只要奇数,所以加个判断条件

  if(i%2 != 0):          print(i)

3.然后就可以输出1-5的奇数了

 i = 1 while i <= 5:     if(i%2 != 0):          print(i)     i += 1

4.最后只需要把循环条件改成1-100以内就可以了

 i = 1 while i <= 100:     if(i%2 != 0):          print(i)     i += 1

题目4:

输出 1-100 内的所有偶数
 i = 1 while i <= 100:   if(i%2 == 0): •    print(i)   i+=1

这个题目和上道题很像,解题思路一致

题目5:

求1-2+3-4+5 ... 99的所有数的和

方案一

 sum = 0 i = 1 while i <= 99:     if(i%2 == 0):         tmp = -i     else:         tmp = i        sum += tmp     i+=1 print(sum)

解题思路:

1.我们还是先缩小一下范围,先算从1-5之间的,通过观察不难发现,这里的偶数前是负号,所以我们应该通过条件判断找出所有偶数,然后加上个负号,然后和sum相加,奇数则无需加负号

 if(i%2 == 0):     tmp = -i  else:      tmp = i

tip:这里用临时变量tmp是为了不影响循环,因为i是循环的关键变量。我们只想要i的正值或负值,但是如果i是负值会影响循环,所以要保证i正常执行

2.判断完奇偶之后,就可以和sum相加

 if(i%2 == 0):     tmp = -i else:     tmp = i sum += tmp

3.最后套上循环

 sum = 0 i = 1  while i <= 5:      if(i%2 == 0):           tmp = -i      else:           tmp = i      sum += tmp      

4.然后把循环条件改成1-99

 sum = 0 i = 1 while i <= 99:     if(i%2 == 0):         tmp = -i     else:         tmp = i        sum += tmp     i+=1 print(sum)

方案二

解题思路:

我们可以分别求和,先把奇数和求出来,再算偶数和,因为偶数都是负数,所以奇数和加偶数和就相当于奇数和-偶数和

1.我们还是先缩小范围,先算1-5,定义两个变量,分别是奇数和和偶数和

 sum_odd = 0 sum_even = 0

2.我们需要一个条件判断i是奇数还是偶数,如果是奇数就加到sum_odd里,如果是偶数就加到sum_even里

 if(i%2 != 0):      sum_odd += i elif(i%2 == 0):      sum_even += i

3.最后套一个循环,然后奇数和-偶数和,最后输出结果

 sum_odd = 0 sum_even = 0 i = 1 while i <= 5:      if(i%2 != 0):           sum_odd += i      elif(i%2 == 0):           sum_even += i      i+=1 sum = sum_odd - sum_even print(sum)

4.最后还是把循环条件改一下,最终代码:

 sum_odd = 0 sum_even = 0 i = 1 while i <= 99:      if(i%2 != 0):           sum_odd += i      elif(i%2 == 0):           sum_even += i      i+=1 sum = sum_odd - sum_even print(sum)