循环结构编程实例

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("信用卡号不合法:")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341