美文网首页Python
循环结构编程实例

循环结构编程实例

作者: ee32a09919fa | 来源:发表于2020-10-09 14:50 被阅读0次

    2020-9-28

    1.将10000 元钱存入银行,每年可以有 5%的收益,多少年后钱可以翻倍?
    num=10000
    i=0
    while(num<20000):
        num=num*1.05
        i=i+1
    print(i)
    
    编写程序,读入一个员工的薪水(薪水的次数任意),计算并输出平均工资。当输入负数的时候退出循环
    total = 0.0
    count = 0
    salary = 0.0
    while salary >= 0.0 :
        salary = float(input("Enter a salary or -1 to finish: "))
        if salary >= 0.0:
            total = total + salary
            count = count + 1
    
    if count > 0 :#判断是不是输入的正整数
        average = total / count
        print("Average salary is", average)
    
    else :
        print("No data was entered.")
    
    要求用户输入今天 1 美元的人民币汇率。然后读入美元值,把每个转化为人民币。使用零作为警戒值,直到读到零,才退出循环
    change =float(input("输入今天一美元的人民币价格"))
    
    flag=True
    while(flag):
        money = float(input("请输入美元金额:"))
        money=money*change
        if money != 0:
            print(money)
            flag = True
        else:
            flag = False
    flag=True
    while(flag):
        money = float(input("请输入人民币金额:"))
        money=money/change
        if money != 0:
            print(money)
            flag = True
        else:
            flag = False
    
    要求用户输入今天 1 美元的人民币价格,然后读入一系列美元值,把每

    个转化为人民币。使用零作为警戒值。然后程序继续读取一系列人民币值,把每个人民币转
    化为美元,同样使用 0 作为警戒值

    change =float(input("输入今天一美元的人民币价格"))
    flag=True
    while(flag):
        money = float(input("请输入美元金额:"))
        money=money*change
        if money != 0:
            print(money)
            flag = True
        else:
            money = float(input("请输入人民币金额:"))
            money = money /change
            print(money)
            flag = False
    
    编写程序读取一系列整数然后输出:输入的整数中奇数和偶数的个数。
    total1 = 0
    total2 = 0
    while(True):
        num=int(input("请输入整数 输入0结束"))
        if num == 0:
            break
        if num%2==1:
            total1+=1
        else:
            total2+=1
    
    print("奇数",total1,"偶数",total2)
    
    
    编写程序读取一系列整数然后输出:每一次的累加和
    total= 0
    total2 = 0
    while(True):
        num = int(input("请输入整数 输入0结束"))
        if num == 0:
            break
        total=total+num
        print(total)
    
    #####使用 while 循环判断一个输入的数是否为素数
    import  math
    num = int(input("请输入整数:"))
    a=int(math.sqrt(num))+1
    while a>1:
        if num % a == 0:
            print("不是素数")
            break
        a-=1
    else:#第一种方法出口判断
        print("素数")
    
    if (a == 1):#第二种方法出口判断
        print("素数")
    else:
        print("非素数")
    
    使用 while 循环求两个数的最大公约数
    num1=int(input("请输入第一个整数:"))
    num2=int(input("请输入第二个整数:"))
    if(num1<num2):
        num=num1
        num1=num2
        num2=num
    
    while num2 !=0:
        num=num1%num2
        num1=num2
        num2=num
    print("这两个数的最大公约数为:",num1)
    
    使用 while 循环求一个正数的近似平方根。
    z=1.0
    x=int(input("请输入一个整数:"))
    y=x**0.5
    while abs(y-z)>0.1**10:
        z=(z+x/z)/2
    print("近似平方根",z)
    
    输入一系列成绩,以输入-1 结束,统计及格和不及格的数量,计算平均成绩,求最高分和最低分。
    total = 0.0
    total1 = 0
    total2 = 0
    count = 0
    salary = 0.0
    max=0.0
    min=100.0
    while salary >= 0.0:
        salary = float(input("请输入成绩 -1结束输入: "))
        if salary >= 0.0:
    
            ###最大最小值
            if salary>max:
                max=salary
            if salary<min:
                min=salary
    
            ###及格不及格
            if 0<=salary<60:
                total1=total1+1
            if 60<=salary<=100:
                total2=total2+1
    
            total = total + salary
            count = count + 1
    
    if count > 0:  # 判断开始是不是输入的正整数
        average = total / count
        print("平均分为:", average)
        print("及格数量:", total1)
        print("不及格数量:", total2)
        print("最高分为:", max)
        print("最低分为:", min)
    
    else:
        print("No data was entered.")
    
    
    将 10000 元钱存入银行,每年可以有 5%的收益 输出 n 年内每年的账号余额 用for循环来实现
    num=1000
    n=0
    year=int(input("请输入几年内的账户余额:"))
    while n<year:
        num*=1.05
        n+=1
        print("while循环第{}年账户余额为;{}".format(n,num))
    
    num=1000
    for i in range(0,year):
        num*=1.05
        print("for循环的第{}年账户余额为;{}".format(i+1, num))
    
    #####二进制(整数)转化为十进制;输入任意二进制,输出十进制整数。
    num=int(input("请输入二进制数据:"))
    s=0
    i=0
    while num!=0:
        m=num%10
        s=s+m*2**i
        num=num//10
        i+=1
    print("while循环转为十进制为:",s)
    
    num=input("请输入二进制数据:")
    s=0
    len=len(num)-1
    for i in num:
        s=s+int(i)*2**len
        len-=1
    print("for循环转为十进制为:",s)
    
    十进制(整数)转化为二进制:输入任意十进制,输出二进制
    num=int(input("请输入十进制数据:"))
    s=""
    while num!=0:
        m=num%2
        s=str(m)+s #注意顺序不能调换
        num=num//2
    print("while循环转为十进制为:",s)
    
    num=int(input("请输入十进制数据:"))
    s=""
    iter第一种将一个列表转化为一个迭代器,
    iter第二种接受一个callable对象和一个sentinel第一个对象会一直运行下去直到返回sentinel
    int内建方法 通过int(object)看注释默认值为0  interesting()永远返回0 一直循环
    for i in iter(int,1):
        m = num % 2
        s=str(m)+s  # 注意顺序不能调换
        num = num // 2
        if num==0:
            print("for循环转为十进制为:", s)
            break
    
    
    输出 2-100(包含 100)之间所有的偶数和。
    sum=0
    for i in range(2,101,2):
        sum+=i
    print("2-100(包含 100)之间所有的偶数和为:",sum)
    
    
    #####输出 1 到 100(包括 100)之间所有数的平方的和
    sum=0
    for i in range(1,101):
        sum+=i**2
    print("1 到 100(包括 100)之间所有数的平方的和为:",sum)
    
    #####输入任意整数,使用 for 循环判断并输出他是否为素数
    import math
    num=int(input("请输入任意整数:"))
    a=int(math.sqrt(num))+1
    for i in range(2,a):
        if num % i == 0:
            print("不是素数")
            int(i)
            break
    else:
        print("是素数")#第一种方法出口判断
    
    if i==a-1:#第二方法出口判断
        print("是素数")
    else:
        print("不是素数")
    
    使用 for 循环求两个数的最大公约数。
    num1=int(input("请输入第一个整数:"))
    num2=int(input("请输入第二个整数:"))
    if(num1<num2):
        num=num1
        num1=num2
        num2=num
    
    #for i in range(1,num1+1):
    for i in range(num1, 0,-1):
        if((num1 % i == 0) and (num2 % i == 0)):
            break
    print("这两个数的最大公约数为:",i)
    
    
    假设 3 个同学参加了 4 门课考试,请编写循环,每次输一个同学 4 门课的成绩,并输出每个人的平均分
    for i in range(3):
        total = 0.0##四门总成绩
        total1 = 0#及格数量
        total2 = 0#不及格数量
        count = 0#计数
        salary = 0.0#成绩
        max = 0.0#最高分
        min = 100.0#最低分
        while salary >= 0.0:
            if count==4:
                break
            salary = float(input("请输入四科成绩:"))
            if salary >= 0.0:
    
                ###最大最小值
                if salary > max:
                    max = salary
                if salary < min:
                    min = salary
    
                ###及格不及格
                if 0 <= salary < 60:
                    total1 = total1 + 1
                if 60 <= salary <= 100:
                    total2 = total2 + 1
    
                total = total + salary
                count = count + 1
    
        if count > 0:  # 判断开始是不是输入的正整数
            average = total / count
            print("平均分为:", average)
            print("及格数量:", total1)
            print("不及格数量:", total2)
            print("最高分为:", max)
            print("最低分为:", min)
    
        else:
            print("No data was entered.")
    
    
    #####统计输入的字符串中的元音字母的个数
    num=0
    data=input("请输入字符串:").lower()
    for i in data:
        if i in ['a', 'e', 'i', 'o', 'u']:
            num+=1
    print("改字符串元音字母共有:",num)
    
    
    我们使用 8 位数字来模拟 16 位数字的信用卡验证。验证要求如下:

    1.从最右端的数字开始,每隔一位取一位数字并计算数字和,例如卡号为 4358 9795,那么这个和为 5+7+8+3=23;
    2.把信用卡号码中第一步中没有包括的数字乘以 2,然后对他们求和,
    例如上面的卡号中,对 9 9 5 4 依次乘以 2,得到 18 18 10 8,把他们按位求和,也就是 1+8+1+8+1+0+8=27;
    3.把上面两步得到的数相加,如果结果的最后一位数字是 0,就表示这个号码是合法的。
    在上面的例子中,和是 23+27,结果为 50,所以这个信用卡号是合法的。
    编写程序实现这个算法,用户提供 8 为数字的输入,程序输出是否合法。

    num=input("请输入数字:").replace(' ','')
    count=0
    total=0
    s=""
    total2=0
    turnum = num[::-1] #翻转
    if len(num)!=8:
        print("输入有误!")
        exit()
    
    
    for i in turnum:
        count+=1
        if count%2==1:
            total+=int(i)
        else:
            s += str(int(i)*2)
    
    for j in s:
        total2+=int(j)
    
    if total+total2==50:
        print("信用卡号合法")
    else:
        print("信用卡号不合法:")
    
    

    相关文章

      网友评论

        本文标题:循环结构编程实例

        本文链接:https://www.haomeiwen.com/subject/yaylpktx.html