题目1:根据给定的体重和身高计算肥胖程度
实现如下:
weight = 70
height = 1.61
bmi = weight/(height*height)
if bmi < 18.5:
print("过轻")
elif 18.5 < bmi < 25:
print("正常")
elif 25 < bmi < 28:
print("过重")
elif 28 < bmi < 32:
print("肥胖")
else:
print("严重肥胖")
题目2:逐个打印出L中的名字
实现如下:
L = ['Bart', 'Lisa', 'Adam']
for name in L:
print(name)
L = ['Bart', 'Lisa', 'Adam']
for x in L:
print('Hello,',x,'!')
L = ['Bart', 'Lisa', 'Adam']
for x in L:
print('Hello,%s!' % x)
题目3:打印出10以内的奇数
实现如下:
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
for i in range(10):
if i % 2 == 0:
continue
else:
print(i)
题目4:请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax^2 + bx + c = 0的两个解。提示:计算平方根可以调用math.sqrt()函数:
实现如下:
# -*- coding: utf-8 -*-
import math
def quadratic(a, b, c):
if not isinstance(a+b+c, (int,float)): #isinstance判断一个对象是不是已知类型。这里额意思是判断a+b+c是不是整型或者浮点型,如果不是已知的这两种类型,则执行下一句
raise TypeError('bad operand type') #使用raise来抛出一个异常(异常类型必须是Python提供的),并输出:操作数类型错误
derta = b * b - 4 * a * c
if a!=0:
if derta < 0:
print('该方程没有实根')
else:
x1 = (-b + math.sqrt(b*b - 4*a*c))/2*a
x2 = (-b - math.sqrt(b*b - 4*a*c))/2*a
print(x1)
print(x2)2
else:
x = -(c / b)
print(x)
if __name__ == '__main__':
a = int(input('请输入a的值:'))
b = int(input('请输入b的值:'))
c = int(input('请输入c的值:'))
quadratic(a, b, c)
题目4:打印文本进度条,输出如下图所示:
实现如下:
#\r回退,退格删除
#刷新的本质就是删除旧的,sleep一会,再输入新内容
import time
scale = 50 #总长度是50
print("执行开始".center(scale//2, "-")) #"执行开始"居中,其他的填充-,总长度为25
start = time.perf_counter() #测量时间函数,记录当前的时间,一般是连续调用取差值
for i in range(scale + 1):
a = '*' * i #先填充的第一部分字符*
b = '.' * (scale - i) #后填充的第二部分. *和.加起来共50个
c = (i/scale) * 100 # 显示的百分比
dur = time.perf_counter() - start # 从当前时间减去之前记录的时间就是这个过程花费的时间
print("\r{:^3.0f}%[{} -> {}]{:.2f}s".format(c, a, b, dur), end="")
time.sleep(0.1)
print("\n"+"执行结束".center(scale//2, '-'))#上面一段代码结尾是end=”“,是不回车的,本行代码执行前要先回车
题目5:数字类型转换
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。0到9对应的中文字符分别是:零一二三四五六七八九
实现如下:
a = ["零","一","二","三","四","五","六","七","八","九"]
b = input("")
for i in range(len(b)):
print(a[eval(b[i])],end = "")
a = "零一二三四五六七八九十"
b = input()
for c in b:
print(a[eval(c)],end='')
题目6:绘制风轮
实现如下:
import turtle
turtle.pencolor("black")
turtle.pensize(5)
turtle.seth(135) #改变行进方向
turtle.fd(150) #在当前方向前进150像素
turtle.left(90) #左转90度
turtle.circle(150,45) #半径150像素,画45度的圆
turtle.goto(0,0) #坐标回到起点
turtle.seth(225)
turtle.fd(150)
turtle.left(90)
turtle.circle(150,45)
turtle.goto(0,0)
turtle.seth(315)
turtle.fd(150)
turtle.left(90)
turtle.circle(150,45)
turtle.goto(0,0)
turtle.seth(45)
turtle.fd(150)
turtle.left(90)
turtle.circle(150,45)
turtle.goto(0,0)
题目7:计算1~100的和
实现如下:
sum = 0
for x in range(101):
sum = sum + x
print(sum)