python123程序的控制结构练习四+测验四

206 阅读2分钟

文章目录

练习四

一:身体质量指数BMI

height, weight = eval(input())
bmi = weight / pow(height, 2)
print("BMI数值为:{:.2f}".format(bmi))
who, nat = "", ""
if bmi < 18.5:
    who, nat = "偏瘦", "偏瘦"
elif 18.5 <= bmi < 24:
    who, nat = "正常", "正常"
elif 24 <= bmi < 25:
    who, nat = "正常", "偏胖"
elif 25 <= bmi < 28:
    who, nat = "偏胖", "偏胖"
elif 28 <= bmi < 30:
    who, nat = "偏胖", "肥胖"
else:
    who, nat = "肥胖", "肥胖"
print("BMI指标为:国际'{}',国内'{}'".format(who, nat))

二:圆周率的计算

from random import random,seed
seed(123)
a = eval(input())
b = 0.0
for i in range(1,1+a):
    x,y = random(),random()
    dist = pow((x**2 + y**2),0.5)
    if dist <= 1:
        b += 1
pi = 4*(b/a)
print("{:.6f}".format(pi))

三:整数的加减和

a = 1
b = -2
sum = 0
for i in range(1,484):
    sum += (a+b)
    a += 2
    b -= 2
print(sum)

四:三位水仙花数

t = ""
for i in range(100,1000):
    if (pow(i//100,3) + pow((i%100)//10,3) + pow(i%10,3)) == i:
        t += "{},".format(i)
print(t[:-1])

五:用户登录的三次机会

c = 0
for i in range(3):
    a = input()
    b = input()
    if a == 'Kate' and b == '666666':
        print("登录成功!")
        break
    else:
        c += 1
        if c == 3:
            print("3次用户名或者密码均有误!退出程序。")
    

测验四

选择题

1
哪个选项不符合上述程序空白处的语法要求?A‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

A:{1;2;3;4;5}

B:“Hello”

C:range(0,10)

D:(1,2,3)

for … in … 中 in 的后面需要是一个迭代类型(组合类型),{1;2;3;4;5}不是Python的有效数据类型。
2

for i in range(0,2):
	print(i)

以上程序的输出结果?

0 
1

3

k = 10000
while k>1:
	print(k)
	k=k/2

上述程序的输出次数?
因为2的13次方等于8192,外加先输出后除二,故一共输出14次
4
哪个选项是程序的三种基本结构?
顺序结构,循环结构,分支结构
5
哪个选项关于循环结构的描述是错误的?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬D
A:条件循环和遍历循环结构都是基本的循环结构
B:循环是一种程序的基本控制结构
C:循环是程序根据条件判断结果向后反复执行的一种运行方式
D:死循环无法退出,没有任何作用
死循环能够用于测试性能,形式上的死循环可以用break来退出,例如

x = 10
while True:
    x = x - 1
    if x == 1:
         break
 #死循环有其作用

6
关于Python语句P=-P,哪个选项的描述是正确的?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬C
A:P等于它的负数
B:P=0
C:给P赋值为它的负数
D:P的绝对值
7
缩进是用来判断当前Python语句在分支结构中
缩进表达层次关系
8
continue结束当次循环,但不跳出当前循环。

for s in "PYTHON":
	if s == "T":
		continue
	print(s,end = "")

输出结果

PYHON

9
randint()、getrandbits()、randrange()都产生随机整数,random()产生0到1之间的随机小数。
10
关于try-except,哪个选项的描述是错误的?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬B
A:表达了一种分支结构的特点
B:使用了异常处理,程序将不会再出错
C:用于对程序的异常进行捕捉和处理
D:NameError是一种异常类型
使用了异常处理,程序可能运行不会出错,但逻辑上可能出错。程序错误是一个大概念,不仅指代码运行错误,更代表功能逻辑错误。

一:四位玫瑰花数

a = ""
for i in range(1000,10000):
    a = str(i)
    if(pow(eval(a)//1000,4) + pow((eval(a)%1000)//100,4) + pow((eval(a)%100)//10,4) + pow(eval(a)%10,4)) == i:
        print(i)

二:100以内素数之和

素数指从大于1,且仅能被1和自己整除的整数。

sum = 0
for i in range(3,100):
    for j in range(2,i):
        if i%j == 0:
            break
    else:
            sum += i
print("{}".format(sum + 2))