python第二次作业

问题1:猜数游戏

import random
num=random.randint(0,100)
x=0
while True:
    shuru=int(input("请输入一个数:"))
    x+=1
    if shuru>num:
        print("大了")
    elif shuru<num:
        print("小了")
    else:
        print(f"你猜对了,数字是{num},猜了{x}次")

运行结果:

问题2:使用while判断一个数是否为质数

n=int(input("输入一个整数:"))
if n<=1:
    print(f"{n}不是质数")
else:
    i=2
    while i*i<=n:
        if n%i==0:
            print(f"{n}不是质数")
            break
        i+=1
    else:
        print(f"{n}是质数")

运行结果:

问题3:

小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:

- 低于18.5:过轻
- 18.5-25:正常
- 25-28:过重
- 28-32:肥胖
- 高于32:严重肥胖

m=1.75
kg=80.5
bmi=kg/(m**2)
if bmi<18.5:
    p="过轻"
elif 18.5<=bmi<25:
    p="正常"
elif 25<=bmi<28:
    p="过重"
elif 28<=bmi<32:
    p="肥胖"
else:
    p="严重肥胖"
print(f"小明的BMI指数为{bmi},属于{p}范围")

运行结果:

问题4:输入一个月,判断季节(让用户输入一个月份,判断这个月是哪个季节?假定3到4月是春季,5到8月是夏季,9到10是秋季,11、12、1、2月是冬季)

month=int(input("请输入月份(1-12):"))
if 3<=month<=4:
    p="春季"
elif 5<=month<=8:
    p="夏季"
elif 9<=month<=10:
    p="秋季"
else:
    p="冬季"
print(f"{month}是{p}")

运行结果:

问题5:

len(range(1,10))的值是()
A.8    B.9    C.10    D.11

解题过程:len问的长度,range(1,10)是1,2,3,4,5,6,7,8,9。所以长度是9个数

答:B

问题6:

表达式",".join(list)中list是列表类型,以下选项中对其功能的描述正确的是()
A.将逗号字符串增加到列表list中
B.在列表list每个元素后增加一个逗号
C.将列表所有元素连接成一个字符串,每个元素后增加一个逗号
D.将列表所有元素连接成一个字符串,元素之间增加一个逗号

答:D

问题7:

假设列表对象aList的值为[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:7]得到的值是()
A.[5,6,7,9,11]
B.[6,7,9,11]
C.[5,6,7,9,]
D.[7,9,11,13]

解题过程:列表aList中元素索引为0到10,切片是前包后不包,所以[3:7]的索引是3到6,对应的元素是6,7,9,11

答:B

问题8:

已知x=list(range(20)),那么表达式x[-1]的值为()。
A.0     B.1    C.20    D.19

解题过程:range(20)生成0到19的整数,list()将这些数转换为列表,所以x=[0,1,2,...,19],x[-1]代表列表中最后的一个元素,所以结果为19

答:D

问题9:

切片操作list(range(6))[::2]执行结果为()
A.[0,1]        B.[0,2,4,6]        C.[0,1,2]        D.[0,2,4]

解题过程:list(range(6))生成一个列表[0,1,2,3,4,5],[::2]表示从0到结尾 步长为2,意味从0开始隔一个元素取一个,所以结果[0,2,4]

答:D

问题10:

以下程序的输出结果是( ):
k=0
for i in range (4):
for j in range(i+1):
k+=j
if j>1:
break
print(k)
A:5 B:6 C:7 D:8

解题过程:当k=0时,i=0,j=0,k=0+0,循环,i=1,j范围0,1,j=0 —> k=0+0  到  j=1 —> k=0+1      ,循环,i=2,j范围0,1,2,j=0 —> k=1+0=1 到 j=1 —> k=1+1=2 到j=2 —> k=2+2=4                   ,循环,i=3,j范围0,1,2,3,j=0 —> k=4+0=4 到j=1 —> k=4+1=5 到j=2 —> k=5+2=7,因为j=2>1,所以break,k=7

答:C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值