学编程:Python入门考级必备[6]

知识模块(6) 千回万转
循环,也叫重复执行,只要满足循环的条件我们就执行循环里的语句。
格式:
whlie 判断条件:
        while 语句 1
        while 语句 2
while 语句也要严格遵守 python 的 语法缩进, while 语句中的缩进部分也是 一个独立的代码块。

 练1:数数字,请用编程实现依次输出1 2 3...98 99 100的数字。

i = 1              # 定义变量i 一开始为1

while i <= 100:    # i小于等于100,满足条件就执行里面的代码语句

    print(i)     # 输出i

    i = i+1        # 循环一次变量 i 就增加 1。

改·练1:从大到小数数字,从50数到5为止。

i = 50          # 定义变量i 一开始为50

while i>4:    # i大于等于1,满足条件就执行里面的代码语句

    print(i)  # 输出i

i = i -1  # 循环一次变量 i 就减少 1。


练2:计算下1到100的数字和。 1+2+3+4+5...+99+100

i = 1

sum1 = 0 # 一开始和为0

while i<=100:

    sum1 = sum1 + i  #模拟1+2+3+..12

    i += 1

    print(sum1)

    


练3:输出1到100的偶数和奇数和

i = 1

sum1 = 0 #一开始和为0

sum2 = 0

while i <= 100:

    if i % 2 == 0:

        sum1 = sum1 + i  #模拟1+2+3+..12

    if i % 2 !=0:

        sum2 += i

    i+=1

print("偶数和:",sum1)

print("奇数和:",sum2)

print("奇数减偶数:",sum2-sum1)


练4:判断1到100的数中,如果是7的倍数又是3的倍数,那么就输出这个数。

i = 1

while i <= 100:

    if i % 7==0 and i % 3==0:

        print(i)

i += 1

     


练5:请输出n的阶乘(n!),例如2的阶乘=1*2  5的阶乘=1*2*3*4*5;

12的阶乘=1*2*3*....*11*12。n! = 1*2*3*...* (n-1) * n。

i = 1

mul = 1 # 存乘积的数

n = int(input("输入n:"))

while i <= n:

    mul *= i

    print(i, " 的阶乘是:",mul)

i += 1


请编程实现下面题目

# 题1.实现输出n到m的值

# 题2.实现输出n到m的偶数值

# 题3.实现输出200到2的3的倍数。

# 题4.实现输出3到n的平方。

# 题5.实现输出5到50的平方和。


二、练题

#题1:实现输入n = 987654321整数,把整数进行分解,每一行就输出 1 2 3 4 5 6 7 8 9。

n = int(input("数值:"))

while n > 0:

    print(n % 10)

    n = n // 10

对“题1”进行加强,求各个位数的和。就是1+2+3+...+9  请问如何编程实现呢?


#题2:班级有n个同学每个同学都有相应的Python的考试成绩score。请输入班级人数,班级同学的成绩,并得出成绩总分与平均分。

n = int(input("人数:"))

i = 1

sum1 = 0 #存成绩

while i <= n:

    score = float(input("成绩:"))

    sum1 += score

    i += 1

print("总成绩:" ,sum1)

print("平均成绩:" ,sum1/n)

   

 #求2”的最高分和最低分的差距——极差。由上图可知,最大值98,最小值32,极差=98-32=66。

n = int(input("人数:"))

i = 1

while i <= n:

    score = float(input("成绩:"))

    # 先假设第一个成绩是最大值

    if i == 1:

        max1 = score

        min1 = score

    else:

        if max1 < score: # 当第23成绩比第一个成绩要大

            max1 = score  # 就要替换 更新

        if min1 > score:

            min1 = score

    i += 1

print("最大值:", max1)

print("最小值:", min1)

print("极差:", max1 - min1)


三、 break 与 continue

英文:break 中文:中断、破坏 终止整个循环
英文:continue 中文:继续、再开始 终止本次循环
题 break:求 1 到 100 的偶数和,如果大于偶数和 1000 就停止程序。
i = 1
sum1 = 0
while i<=100:
        if i % 2 == 0:
                print (sum1)
                sum1 += i
        if sum1 > 1000:
                break
        i += 1
print ( "偶数和" ,sum1)

题 continue:求 1-100 以内,有多少个数值不是 2 或 3 或 5 的倍数。输出把
值和个数求出来。
i = 0
cnt = 0 # 统计个数
while i<100:
        i += 1
        if i % 2 == 0 or i % 3 == 0 or i % 5 == 0 :
                continue
        else :
                print (i)
        cnt += 1
print (cnt)

   


 题--角谷猜想:输入一个人整数N,如果它是偶数,就将它除以2,如果它是奇数,则对它乘3再加1。依次按这种步骤,直到最终结果得出1。

请您来用编程实现这个角谷猜想吧!


代码大全参考:

'''# 练1:数数字,请用编程实现依次输出1 2 3...98 99 100的数字。
i=1                     # 定义变量i 一开始为1
while i<=100:    # i小于等于100,满足条件就执行里面的代码语句
    print(i)     # 输出i
    i = i+1        # 循环一次变量 i 就增加 1。

# 改·练1:从大到小数数字,从50数到5为止。
i=50                    # 定义变量i 一开始为50
while i>4:    # i大于等于1,满足条件就执行里面的代码语句
    print(i)     # 输出i
    i =i -1        # 循环一次变量 i 就减少 1。

i=1
sum1 = 0 #一开始和为0
while i<=100:
    sum1=sum1+i  #模拟1+2+3+..12
    i+=1
    print(sum1)

i=1
sum1 = 0 #一开始和为0
sum2 = 0
while i<=100:
    if i % 2 ==0:
        sum1=sum1+i  #模拟1+2+3+..12
    if i % 2 !=0:
        sum2+=i
    i+=1
print("偶数和:",sum1)
print("奇数和:",sum2)
print("奇数减偶数:",sum2-sum1)

#练4:判断1到100的数中,如果是7的倍数又是3的倍数,那么就输出这个数。
i = 1
while i<=100:
    if i % 7==0 and i % 3==0:
        print(i)
    i += 1

#练5:请输出n的阶乘(n!)
i=1
mul = 1 # 存乘积的数
n = int(input("输入n:"))
while i<=n:
    mul *= i
    print(i, " 的阶乘是:",mul)
    i += 1


#编程:实现输入n = 987654321整数,把整数进行分解,每一行就输出 1 2 3 4 5 6 7 8 9。
n =int(input("数值:"))
sum1 = 0 
#求所有各个位数的和
while n>0:
    print(n%10)
    n=n//10
    sum1+=n%10
print("各个位数的和:",sum1)


#题2:班级有n个同学,每个同学都有相应的Python的考试成绩score。
#请输入班级人数,班级同学的成绩,并得出成绩总分与平均分。

n = int(input("人数:"))
i = 1
sum1 = 0 #存成绩
while i <= n:
    score = float(input("成绩:"))
    sum1 += score
    i += 1
print("总成绩:" ,sum1)
print("平均成绩:" ,sum1/n)


n = int(input("人数:"))
i = 1
while i <= n:
    score = float(input("成绩:"))
    # 先假设第一个成绩是最大值
    if i == 1:
        max1 = score
        min1 = score
    else:
        if max1 < score: # 当第二、三成绩比第一个成绩要大
            max1 = score  # 就要替换 更新
        if min1 > score: # 当第二、三成绩比第一个成绩要大
            min1 = score  # 就要替换 更新
    i += 1
print("最大值:", max1)
print("最小值:", min1)
print("极差:", max1 - min1)


#题break:求1到100的偶数和,如果大于偶数和1000就停止程序。
i = 1
sum1 = 0
while i<=100:
    if i % 2 == 0:
        print(sum1)
        sum1 += i
    if sum1 > 1000:
        break
    i += 1
print("偶数和",sum1)

# 求1-100以内,有多少个数值不是2或3或5的倍数。输出把值和个数求出来。
i = 0
cnt = 0  # 统计个数
while i<100:
    i += 1
    if i % 2 == 0 or  i % 3 == 0 or  i % 5 == 0 :
        continue
    else:
        print(i)
        cnt += 1
print(cnt)
        
'''
'''
题--角谷猜想:输入一个人整数N,
如果它是偶数,就将它除以2,
如果它是奇数,则对它乘3再加1。
依次按这种步骤,直到最终结果得出1。
'''
n = int(input())
while n != 1:
    if n % 2 ==0:
        print(n , " / 2 = " , n / 2)
        n /= 2
    else:
        print(n , " * 3 + 1 = " , n *3+1)        
        n = n * 3 + 1
print("end")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐樽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值