#输入三条边的边长,当输入正确时计算由这三条边构成的三角形的面积3-6.py
import math
a = float(input("请输入三角形的边长a:"))
b = float(input("请输入三角形的边长b:"))
c = float(input("请输入三角形的边长c:"))
if (a+b>c and a+c>b and b+c>a):
h =(a+b+c)/2
area = math.sqrt(h*(h-a)*(h-b)*(h-c))
print("三角形的面积为:{:.2f}".format(area))
else:
print("用户输入数据有误!")
#计算BMI指数 3-7.py
height = eval(input("请输入您的身高(m):"))
weight = eval(input("请输入您的体重(kg):"))
BMI = weight/height/height
print("您的BMI指数是:{:.1f}".format(BMI))
if BMI < 18.5:
print("您的体型偏瘦,要多吃多运动哦!")
elif 18.5 <= BMI <24:
print("您的体型正常,继续保持哦!")
elif 24 <= BMI <28:
print("您的体型偏胖,有发福迹象!")
elif 28 <= BMI <32:
print("不要悲伤,您是个迷人的胖纸!")
else:
print("什么也不说了,您照照镜子就知道了......")
# 输出百分制分数,将其转换成等级制并输出P60
x =eval(input("请输入您的成绩:"))
print("您的分数是:",x)
if 0<=x<60:
print("不及格!")
elif 60<=x<70:
print("及格!")
elif 70<=x<80:
print("中!")
elif 80<=x<90:
print("良!")
elif 90<=x<=100:
print("优!")
else:
print("请输入有效成绩!")
# 输出一个三位数的正整数中最大的一位数字是多少 3-8.py
num = int(input("请输入一个三位正整数:"))
a = str(num)[0] #取num的百位数字
b = str(num)[1] #取num的十位数字
c = str(num)[2] #取num的个位数字
if a>b:
if a>c:
max_num = a
else:
max_num = c
else:
if b>c:
max_num = b
else:
max_num = c
print(str(num) + "中最大的数字是:" + max_num)
#求1~100中所有奇数和偶数的和 3-11.py
sum_odd = 0
sum_even = 0
for i in range(1,100+1):
if i%2 ==1: # i为奇数
sum_odd = sum_odd + i
else: # i为偶数
sum_even = sum_even + i
print("1~100中所有的奇数和:",sum_odd)
print("1~100中所有的偶数和:",sum_even)
# 用带else子句的循环结构判断正整数n是否为素数 3-18.py
n = int(input("输入一个正整数n(n>=2):"))
for i in range(2,n):
if n%i ==0:
print(n,"不是素数")
break
else:
print(n,"是素数")
# 找出300以内的所有素数 3-20.py
count = 0
for n in range(2,300):
for i in range(2,n):
if n%i==0:
break
else:
print("{:>5}".format(n),end="")
count+=1
print("\n共有{}个素数".format(count))
#食堂伙食质量问卷调查 4-6.py
comments=['不满意','一般','满意','很满意']
result = "不满意,一般,很满意,一般,不满意,很满意,满意,一般,一般,"\
"不满意,满意,满意,满意,满意,满意,一般,很满意,一般,满意,"\
"不满意,满意,一般,不满意,满意,不满意,满意,很满意,很满意,"\
"满意,满意,不满意,满意,不满意,满意,一般,很满意,不满意,"\
"一般,很满意,满意,很满意,不满意,很满意,不满意,很满意,"\
"满意,满意,很满意,一般,很满意,满意,满意,很满意,不满意,"\
"很满意,满意,不满意,满意,不满意,满意,很满意,满意,很满意,"\
"一般,很满意,很满意,很满意,不满意,满意,一般,一般,一般,"\
"一般,不满意,不满意,满意,很满意,很满意,满意,满意,很满意,"\
"很满意,一般,一般,很满意,一般,一般,满意,很满意,一般"
resultList = result.split(',')
commentCnts=[0]*4
for i in range(4):
commentCnts [i]=resultList.count (comments[i])
most = max (commentCnts)
mostComment = comments[commentCnts.index(most)]
print("根据统计,对今天伙食感觉:")
print("'很满意'的学生{}人;".format (commentCnts[3]))
print("'满意'的学生{}人;".format(commentCnts[2]))
print("'一般'的学生{}人;".format(commentCnts[1]))
print("'不满意'的学生{}人。".format(commentCnts [0]))
print("调查结果中,出现次数最多的评语是",mostComment)
# 列表操作P93
s = [54, 36, 75, 28, 50]
s.extend([42]); print(s)
#在列表尾部插入元素42
s.insert(3, 66); print(s)
#在28前面插入元素66
print(s.pop(4))
#删除并输出元素28
s.sort(reverse=True);print(s)
#将列表按降序排序
s.clear();print(s)
#清空整个列表
#统计英文句子中各字符出现的次数 5-1.py
sentence="Life is short,we need python."
sentence=sentence.lower() #将句中字符都统一成小写
counts={}
for c in sentence:
if c in counts:
counts[c] = counts[c] +1
else:
counts[c] = 1
print(counts)
#用get方法统计英文句子中各字符出现的次数 5-1-1.py
sentence="Life is short,we need python."
sentence=sentence.lower() #将句中字符都统一成小写
counts={}
for c in sentence:
counts[c]=counts.get(c,0)+ 1
print(counts)
#按照国家名的升序输出三个国家和对应的国土面积 5-2.py
dicAreas={'Russia':1707.5,'Canada':997.1,'China':960.1}
ls=sorted(dicAreas)
for country in ls:
print(country,dicAreas [country])
#按照面积值从小到大输出三个国家和对应的国土面积 5-3.py
dicAreas={'Russia':1707.5,'Canada':997.1,'China':960.1}
#使用列表生成器生成(面积,国家)元组构成的列表
lsVK=[(v,k) for k,v in dicAreas.items()]
#对新列表按照面积排序
lsVK.sort()
#使用列表生成器生成(国家,面积)元组构成的列表
lsKV=[(k,v)for v,k in lsVK]
print(lsKV)
#合并"国家-面积"字典dicArea和"国家-首都"字典dicCapitals 5-4.py
dicAreas={'俄罗斯':1707.5,'加拿大':997.1,'中国':960.1,'美国':936.4,'巴西':854.7}
dicCapitals={'俄罗斯':'莫斯科','加拿大':'遲太华','中国':'北京','美国':'华盛顿','巴西':'巴西利亚'}
dicCountries={}
for key in dicAreas.keys():
dicCountries[key]=[dicAreas[key],dicCapitals[key]]
for item in dicCountries.items():
print(item)
#合并两个调研结果 5-8.py
dicBoys={'江苏':8,'浙江':5,'山东':5,'安徽':4,'福建':2}
dicGirls={'江苏':3,'浙江':2,'吉林':1}
dic=dicBoys.copy()
for k,v in dicGirls.items():
dic[k]=dic.get(k,0)+v
print (dic)
#编写函数,求1+2+3+......+100的和 6-1-1.py
def calSum():
sum=0
for i in range(1,101):
sum+=i
print("sum=",sum)
calSum()
#编写函数,求任意个连续整数的和 6-1-2.py
def calSum(n1,n2):
sum=0
for i in range(n1,n2+1):
sum+=i
print("sum=",sum)
m1=int(input("初值:"))
m2=int(input("终值:"))
calSum(m1,m2)
#编写函数,求(2+3+......+19+20)+(11+12+......+99+100)的和 6-1-3.py
def calSum(n1,n2):
sum = 0
for i in range(n1,n2):
sum+=i
return sum
print("sum=",calSum(2,20)+calSum(11,100))
#找出2~100中所有的素数 6-2-1.py
def prime(n):
for i in range(2,n):
if n%i ==0:
return False
else:
return True
for i in range (2,100+1):
if prime(i)==True:
print("{:^4}".format(i),end='')
#找出2~100中所有孪生素数 6-2-2.py
def prime(n):
for i in range(2, n):
if n%i==0:
return False
else:
return True
for i in range (2,100+1):
if prime(i)==True and prime(i+2)==True:
print("({:^4},{:^4})".format(i,i+2))
#基于期中成绩和期末成绩,按指定的权重计算总评成绩 6-4.py
def mySuml(mid_score,end_score,rate=0.4):
score = mid_score*rate+end_score*(1-rate)
return score
print(mySuml(88, 93))
print(mySuml(mid_score=88,end_score=93,rate=0.5))
print(mySuml(rate=0.5,end_score=93,mid_score=88))
#利用可变参数输出名单 6-6.py
def commonMultiple(*c): #c为可变参数
for i in c:
print ("{:^4}".format(i),end='')
return len(c)
count = commonMultiple("李白","杜甫")
print("共{}人".format(count))
count = commonMultiple("李白","杜甫","王维","袁枚")
print("共{}人".format(count))
#利用lambda()函数对字典元素按值或按键排序 6-12.py
dict_data={"化1704":33,"化1702":28,"化1701":34,"化1703":30}
print(sorted(dict_data))
#按键排序,输出键值
print(sorted(dict_data.items()))
#按键排序,输出键值对
print(sorted(dict_data.items(),key=lambda x:x[1]))
#按值排序,输出键值对
print(sorted(dict_data.items(),key=lambda x:x[1]%10))
#按值的个位数排序,输出键值对
《Python语言及应用》结课考试重点编程题
最新推荐文章于 2023-05-12 11:46:22 发布