Python.习题四 循环结构

Python.<习题四> 循环结构

1.编写程序,计算1×2×3×…×10.

s=1
i=1
while i<=10:
    s=s*i
    i=i+1
print("s=",s)

在这里插入图片描述
2.编写程序,计算1+3+5+…+99.

sum=0
for i in range(1,100,2):
    sum=sum+i
print("sum=",sum)

在这里插入图片描述
3.编写程序,输出1~100之间所有能被3整除,但是不能被5整除的数。

for i in range(1,100):
    if i%3==0:
        continue
    print(i,end=" ")

Python.习题四 循环结构_第1张图片
4.编写程序,输出1000~2000年之间所有闰年,要求每行输出5个年份。

n=0
for i in range(1000,2000+1):
    if (i%4==0 and i%100!=0) or (i%400==0):
        n+=1
        print("{}".format(i),end=" ")
        if n%5==0:
            print("")

Python.习题四 循环结构_第2张图片
5.编写程序,输出斐波那契数列的前20项,要求每行输出5项。

Fib1=1
Fib2=1
print(Fib1,Fib2,end=" ")
n=2
for i in range(3,20+1):
    Fibi=Fib1+Fib2
    Fib1=Fib2
    Fib2=Fibi
    n+=1
    print("{}".format(Fibi),end=" ")
    if n%5==0:
        print("")

在这里插入图片描述
6.编写程序,从键盘上输入10个整数,输出这10个数中所有奇数之和,偶数之和及所有数的平均值。

sum1=sum2=0
for i in range(10):
    num=eval(input("请输入一个整数:"))
    if num%2==1:
        sum1=sum1+num
    else:
        sum2=sum2+num
avg=(sum1+sum2)/10
print("所有奇数之和:{},所有偶数之和:{},平均值:{}".format(sum1,sum2,avg))

Python.习题四 循环结构_第3张图片
7.编写程序,从键盘上输入若干个整数,求出这些整数中所有奇数之和、偶数之和及所有数的平均值,当从键盘输入字符"A"时,程序输出计算结果。

sum1=sum2=k=0
num=input("请输入一个整数(输入字符A时结束处理):")
while num!='A':
    k=k+1
    num=int(num)
    if num%2==1:
        sum1=sum1+num
    else:
        sum2=sum2+num
    num=input("请输入一个整数(输入字符A时结束处理):")
avg=(sum1+sum2)/k
print("所有奇数之和:{},所有偶数之和:{},平均值:{}".format(sum1,sum2,avg))

Python.习题四 循环结构_第4张图片
8.编写程序,输出1×2×3+3×4×5+5×6×7+…+99×100×101的值。

sum=0
for i in range(1,100,2):
    sum=i*(i+1)*(i+2)
print("结果为:",sum)
    

在这里插入图片描述
9.编写程序,计算s=a+aa+aaa+…+aaa…aaa的值,其中a是1~9之间的某个数字,n是一个正整数。例如,当a=2,n=5时,s=2+22+222+2222+22222=24690.

#方法一
a,n=eval(input("请输入a,n的值"))
s=0
item=0
for i in range(1,n+1):
     item=item*10+a
     s=s+item
print("值为:",s)


#方法二
a,n=eval(input("请输入a,n的值"))
s=0
for i in range(1,n+1):
    s=s+int(str(a)*i)
print("值为:",s)

在这里插入图片描述
10.编写程序,实现猜数游戏。在程序中随机生成一个0~9之间(包含0和9)的随机整数T,让用户通过键盘输入所猜的数。如果输入的数大于T,显示“遗憾,太大了”;如果小于T,显示“遗憾,太小了”;如此循环,直至猜中该数,显示“预测N次,你猜中了”,其中N是指用户在这次游戏中猜中该随机数一共尝试的次数。

import random
rnd=random.randint(0,9)
print("系统刚随机产生了一个0~9之间的一个整数")
user=int(input("请输入你猜的数"))
k=0
while 1:
    k=k+1
    if user>rnd:
        print("遗憾,太大了")
        user=int(input("请继续输入你猜的数"))
    elif user<rnd:
        print("遗憾,太小了")
        user=int(input("请继续输入你猜的数"))
    else:
        print("预测{}次,你猜中了".format(k))
        break

Python.习题四 循环结构_第5张图片
11.编写程序,产生两个0~100之间(包含0和100)的随机整数RND1和RND2,求这两个整数的最大公约数和最小公倍数。

import math
import random
RND1=random.randint(0,100)
RND2=random.randint(0,100)
gys=math.gcd(RND1,RND2)
gbs=RND1*RND2/gys
print("{}和{}的最大公约数为:{},最小公倍数为:{}".format(RND1,RND2,gys,gbs))

在这里插入图片描述
12.编写程序模拟硬币的投掷。假设0表示硬币反面,1表示硬币正面。在程序中让计算机产生若干次(建议大于100次)随机数,统计0和1分别出现的次数,并观察0和1出现的次数是否相同。

import random
num0=0
n=eval(input("请输入你要模拟投掷硬币的次数:"))
for i in range(n):
    rnd=random.randint(0,1)
    if rnd==0:
        num0=num0+1
num1=n-num0
print("硬币反面{}次,硬币正面面{}次".format(num0,num1))
    

在这里插入图片描述
13.编写程序,计算“天天向上”和“天天向下”两种情况下的武力值。假设一年有365天,郭大侠第一天的武力值为1.如果郭大侠每天勤于练功,每天武力值相比前一天会增加1%;如果郭大侠每天不练功,每天武力值相比前一天会减少1%。郭大侠制定了一年的练功计划:从第一天开始,前五天每天练功,然后休息两天;接下来又练功五天,休息两天;如此往复,请计算一年后,郭大侠的最终武力值(结果保留2位小数)。

gdxwlz=1
for i in range(1,366):
    if i%6==0 or i%7==0:
        gdxwlz=gdxwlz*(1-0.01)
    else:
        gdxwlz=gdxwlz*(1+0.01)
print("郭大侠的最终武力值为:{:.2f}".format(gdxwlz))

在这里插入图片描述
14.编写程序,计算糖果总数。假设有一盒糖果,按照如下方式从中取糖果:
一个一个地取,正好取完
两个两个地取,还剩一个
三个三个地取,正好取完
四个四个地取,还剩一个
五个五个地取,还差一个
六个六个地取,还剩三个
七个七个地取,正好取完
八个八个地取,还剩一个
九个九个地取,正好取完
请问:这个盒子里至少有多少个糖果?

n=1
while 1:
    if n%2==1 and n%3==0 and n%4==1 and n%5==4 and n%6==3 and n%7==0 and n%8==1 and n%9==0:
        print("这个盒子里一共有{}个糖果".format(n))
        break
    else:
        n=n+1

在这里插入图片描述
如果我整理的对你有用,就关注我吧。嘻嘻

你可能感兴趣的:(基础题)