循环练习

本文提供多个Python编程实例,包括数字处理、成绩等级判断、图形打印等。通过具体案例讲解了循环、条件判断、字符串操作及列表排序等核心概念。

1连续输入数字 打印最大和平均值,空格或quit退出

max1 = 0
count = 0
sum1 = 0
while True:

    inp = input("Input a polisise number >>")

    if inp.isdigit():
        num = int(inp)
        count += 1
        sum1 = sum1 + num  # 当变量需要累加时加入另一个变量sum 记录和

        if num > max1:  # max记录最大值
            max1 = num
    elif inp == "quit" or inp == " ":
        break
    else:
        print("input again")
        continue
    print(" MAX is {},average is {} ".format(max1, sum1 // count))   
    ## 错误记录  每次需要变量应该先初始化
    ##不然会找不到,报错  

2输入成绩判断等级


a= int(input("请输入成绩>>"))
if a>=80:
    if a>=90 :
        print("A")
    else:
        print("B")
if a<80:
    if a>=70:
        print("C")
    elif a>=60:
        print("D")
    else:
        print("E")

3打印菱形

import math
for i  in range (-3,4):
    for k in range (-3,4):
        if 4 -(math.fabs(k)) > math.fabs(i):
            print("* ",end="")
        else :
            print("  ",end="")
    print("\n")

4 输正整数数字,打印每个数字位数,升序打印每个数字

num = []
for i in range (5):
    nums=input("Input a positive number>>").strip().lstrip("0")   # 数字的字符串
    if not nums.isdigit:
        continue
    print("the length of {} is {} ".format(nums,len(nums)))
    num.append(int(nums))
for k in range (len(num)):  #冒泡法
    for j in range(len(num)-k-1):
        if(num[j]>num[j+1]):
            num[j] , num[j+1]=num[j+1],num[j]
print(num)

5输入值求位数,每个数位上的值,以及各自出现的次数

#  字符串处理  
# 输入后记录在字符串里, 通过获取长度的方法
# 获取位数  (注意要考虑 字符,空格以及0的干扰)
# 通过字符串索引的方法得出每一位数
# 用列表中的10个0来记录0-9 出现的次数
# 循环索引每一位数字 并在相应的0处加一用以计数
# 索引列表中每个0改变后的值,统计出相应数字出现的次数
# 这里可以进一步优化,当0没有被计数,则不必打印
num = ''
while True :
    num = input("Input a positive number")
    if num.isdigit:
        break
print("{} the length is {}".format(num,len(num)))
for i in range (len(num),0,-1):
    print(num[i-1],end='')
##for k in range (10):
  #  count = num.count(str(k))
   # if count:  ##如果  count不等于零   进一步优化
   # print("({}) appear ({})times in the number".format(k,count))
l3 = [0]*10          #  用10个零  计算各个数字出现的次数
for x in num:    ##  x
    j = int(x)
    l3[j] += 1
for  j in range (10):     # 数字 出现了  l3【数字】次   j是x的整形 x肯定是某一位数   
    if l3[j]>0:          
        
        print(" ({})appear ({})times \n".format(j,l3[j]))
        

6 九九乘法表变种

for a in range (1,10):
    
    for b in range (a,10):    
        
            #a 变  b  固定 循环的时候  找变量与不变量  
        print("{}*{}={:<2}".format(a,b,a*b),end="\n" if b==9 else " ")
    print(a*7*" ",end="")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值