0
点赞
收藏
分享

微信扫一扫

分支和循环作业(习题)

得一道人 2022-04-18 阅读 64
python

目录

1、根据输⼊的成绩的范围打印 及格 或者 不及格

2、 根据输⼊的年纪范围打印 成年 或者 未成年 ,如果年龄不在正常范围内(0~150)打印 这不是⼈!

3、输⼊两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息 a-b的结果不是奇数 。  

 4、使⽤for循环输出 0~100内所有的奇数的和

 5、使⽤while循环输出0~100内所有的偶数的和

6、使⽤循环计算 1+2+3+4+…+100 的结果。  

 7、统计100以内个位数是2并且能够被3整除的数的个数

8、输⼊任意⼀个正整数,求他是⼏位数?

 9、打印出所有的⽔仙花数,所谓⽔仙花数是指⼀个三位数,其各位数字⽴⽅和等于该数本身。

 10、写⼀个程序可以不断的输⼊数字,直到输⼊的数字是0打印 结束 后程序结束。

11、统计101~200中素数的个数,并且输出所有的素数。(素数⼜叫质数,就是只能被1和它本身整除的数)

 12、求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34.... (这⼉的n可以是任意正整数,可以通过输⼊来确定)

13、输出9*9⼝诀。 程序分析:分⾏与列考虑,共9⾏9列,i控制⾏,j控制列。  

14、这是经典的"百⻢百担"问题,有⼀百匹⻢,驮⼀百担货,⼤⻢驮3担,中⻢驮2担,两只⼩⻢驮1担,问有⼤,中,⼩⻢各⼏匹?(可以直接使⽤穷举法)

 15、⼀张纸的厚度⼤约是0.08mm,对折多少次之后能达到珠穆朗玛峰的⾼度(8848.13⽶)?


1、根据输⼊的成绩的范围打印 及格 或者 不及格

score = int(input('请输入成绩'))
if score > 60:
    print('成绩合格')
else:
    print('成绩不合格')

 

2、 根据输⼊的年纪范围打印 成年 或者 未成年 ,如果年龄不在正常范围内(0~150)打印 这不是⼈!

years = int(input('请输入年龄:'))
if ( 0 < years < 150):
    if years > 18:
        print('已成年')
    else:
        print('未成年')
else:
    print('这不是人')

 

3、输⼊两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息 a-b的结果不是奇数 。  

a = int(input('请输入一个数'))
b = int(input('请输入另一个数'))
if ((a - b) % 2 == 1):
    print(a - b)
else:
    print('a-b的结果不是奇数')

 4、使⽤for循环输出 0~100内所有的奇数的和

s = 0
for i in range(0,100):
    if (i % 2 == 1):
        s += i
print(s)

 5、使⽤while循环输出0~100内所有的偶数的和

s = 0
i = 0
while i <= 100:
    if (i % 2 == 0):
        s += i
    i +=1
print(s)

6、使⽤循环计算 1+2+3+4+…+100 的结果。  

s = 0
for i in range(1,101):
    s += i
print(s)

 7、统计100以内个位数是2并且能够被3整除的数的个数

count = 0
for i in range(100):
    if ((i % 10 == 2) and i % 3 == 0):
        count +=1
print(count)

8、输⼊任意⼀个正整数,求他是⼏位数?

注意: 这⼉不能使⽤字符串,只能⽤循环

n = int(input('请输入一个整数'))
count = 0
while n > 0:
    n //= 10
    count +=1
print(count)
# n = input('请输入一个整数')
# print(len(n))

 9、打印出所有的⽔仙花数,所谓⽔仙花数是指⼀个三位数,其各位数字⽴⽅和等于该数本身。

例如:153是

⼀个⽔仙花数,因为 1³ + 5³ + 3³ 等于 153。

for i in range(100,1000):
    num = i
    s = 0
    while i > 0:
        a = i % 10
        s += (a**3)
        i //= 10
    if (s == num ):
        print(num)

 10、写⼀个程序可以不断的输⼊数字,直到输⼊的数字是0打印 结束 后程序结束。

while True:
    n = int(input('请输入数字:'))
    if (n == 0):
        print('结束')
        break
while True:
    n = int(input('请输入数字:'))
    if (n == 0):
        print('结束')
        break

11、统计101~200中素数的个数,并且输出所有的素数。(素数⼜叫质数,就是只能被1和它本身整除的数)

s = 0
for i in range(101,201):
    count = 0
    for j in range(1,i):
        if (i % j == 0):
            count +=1
    if (count <= 1):
        s +=1
        print(i)
print('101~200的素数个数为:{}' .format(s))

 12、求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34.... (这⼉的n可以是任意正整数,可以通过输⼊来确定)

n = int(input('请输入一个数:'))
a,b = 0,1
for i in range(n):
    a,b=b,a+b
print(a,end='\t')

13、输出9*9⼝诀。 程序分析:分⾏与列考虑,共9⾏9列,i控制⾏,j控制列。  

for i in range(1,10):
    for j in range(1,i + 1):
        print('%s * %s = %s' % (j , i ,i*j),end = '\t')
    print('\n')

14、这是经典的"百⻢百担"问题,有⼀百匹⻢,驮⼀百担货,⼤⻢驮3担,中⻢驮2担,两只⼩⻢驮1担,问有⼤,中,⼩⻢各⼏匹?(可以直接使⽤穷举法)

for i in range(0,34):
    for j in range(0,50):
        z = 100 - i -j
        if ((z % 2 == 0) and ((i * 3 + j * 2 + z // 2) == 100)):
            print('大马{}匹,中马{}匹,小马{}匹'.format(i,j,z))

 15、⼀张纸的厚度⼤约是0.08mm,对折多少次之后能达到珠穆朗玛峰的⾼度(8848.13⽶)?

n = 0
h = 0.08
while 1:
    if (h / 1000 > 8848.13):
        break
    h = h * 2
    n +=1
print(n)

 

 

举报

相关推荐

0 条评论