美文网首页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("信用卡号不合法:")

相关文章

  • 循环结构编程实例

    2020-9-28 1.将10000 元钱存入银行,每年可以有 5%的收益,多少年后钱可以翻倍? 编写程序,读入一...

  • 循环结构编程实例补充

    你的任务是模拟着中汽车的控制软件的一部分,输入是一系列表示开关和换挡的值,按照下面的顺序: 左、右滑动门的仪表盘开...

  • Shell 4. 循环语句

    for循环语句 第一种语法结构 实例 第二种语法结构 实例 第三种语法结构 实例 遍历数组 until循环语句 一...

  • xdl2

    指令式编程 顺序结构 分支结构 循环结构 变量作用域

  • 图形化编程《循环:迈步动画》教学设计

    图形化编程《循环:迈步动画》教学设计 教学内容:图形化编程《循环:迈步动画》 教学目标: 理解程序的循环结构; 使...

  • 2021-10-09

    图形化编程《循环:迈步动画》教学设计 教学内容:图形化编程《循环:迈步动画》 教学目标: 理解程序的循环结构; 使...

  • 编程范式

    结构化编程 结构化编程采用顺序结构,分支结构,循环结构代替goto语句,它对程序控制权的直接转移进行了限制和规范。...

  • 循环结构(for)

    一、为什么需要循环 二、三大循环结构 for循环、while循环、do...while循环。这三大循环在所有的编程...

  • Python的判断结构和循环结构

    判断结构和循环结构是编程语言最基本的控制结构,其语法格式在各个编程语言中也是大同小异。与java相比,python...

  • Python | While循环控制语句

    掌握while循环的结构以及循环中的常用关键字。 一、While循环控制语句 ● Python编程中while语句...

网友评论

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

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