python基础题+解法

いち:猜数字


要求

1.用户输入一个数字
2.系统产生一个随机数(0-100)
3.进行判断,如果猜大了/猜小了,则提示,直到猜对为止
4.如果猜对了,结束程序
5.统计所猜次数

解:导入random模块,生成随机数。 定义一个count用于统计猜数字的次数。用布尔变量来控制while循环的运行。

import random as rand
count = 0
number = rand.randint(0,101)
flag = True
while(flag):
    num = int(input("请输入一个数字:"))
    if number > num :
        print("猜小了")
        count += 1
        
    elif number < num  :
        print("猜大了")
        count += 1
        
    else:
        print("猜对了")
        flag  = False
print(f"所猜次数为:{count + 1}" )

に:使用while判断是否为质数


注释

质数又称素数。

一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。

最小的质数是2,它也是唯一的偶数质数。最前面的质数依次排列为:2,3,5,7,11等

解:首先prime_number通过键盘输入,其次布尔变量flag表示,默认为True,定义一个布尔变量,默认为True,为了判断是否是质数,如果不是质数,就改为False。#

prime_number = int(input("请输入一个数:"))
flag_true = True
for i in range(2,prime_number):
    if prime_number % i ==0:
        flag_true = False
if flag_true:
    print("是质数" )
else :
    print("不是质数")

さん:计算BMI指数


要求

小明身高1.75,体重80.5kg。

请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数进行判断。

注释

低于18.5:过轻

18.5-25:正常

25-28:过重

28-32:肥胖

高于32:严重肥胖

解:通过身高和体重来计算BMI值,再运用if-elif-else语句,对BMI指数进行判断。

height = 1.75
weight = 80.5
BMI = float(weight/(height**2))
print(BMI)
if BMI > 0 and BMI <=18.5:
    print("过轻")
elif BMI > 18.5 and BMI<=25:
    print("正常")
elif BMI > 25 and BMI <= 28:
    print("过重")
elif BMI > 28 and BMI <= 32:
    print("肥胖")
elif BMI >32:
    print("严重肥胖")
else :
    print("数据异常")


 

よん:输入月份,判断季节


要求

输入一个月,判断季节(让用户输入一个月份,判断这个月是哪个季节?

(假定3到4月是春季,5到8月是夏季,9到10是秋季,11、12、1、2月是冬季)

ご:选择题


① len(range(1,10))的值是()
A.8

B.9

C.10

D.11

解:range函数的区间为左闭右开区间,因此范围是1~9,故选B。

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

解:join()方法是字符串方法,",".join (list)表示的是以逗号作为分隔符,将list中所有元素连接成一个字符串,C 中的"每个元素后增加一个逗号“,意为”a,b,c“,D中的”元素之间增加一个逗号“,意为”a","b","c"故选D。

③ 假设列表对象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]

解:[3:7]指的是列表的下标3到7的值。注意是下标而不是序号。因此aList[3:7]是[7,9,11,13]。

故选D。

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

B.1

C.20

D.19

解: [-1]指的是从右往左的一个,range(20)指的是0~19;因此x[-1]=19;故选D。

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

B.[0,2,4,6]

C.[0,1,2]

D.[0,2,4]

解: [::2]指的是步长为2,range(6)指的是0~6;因此list(range(6)) [::2]=[0,2,4,6];

故选B。

⑥ 以下程序的输出结果是( ):

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

解:break的目的为停止内层循环,因此当i=0时, k=0;当i=1时,k=1;当i=2时,k=4;

当i=3时,k=7。故选C。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值