#3.1#3.2#3.3#3.4#3.5#3.6 计算三角形的面积import math
a =float(input("请输入三角形的边长a:"))
b =float(input("请输入三角形的边长b:"))
c =float(input("请输入三角形的边长c:"))
h =(a+b+c)/2
area = math.sqrt(h*(h-a)*(h-b)*(h-c))print(str.format("三角形三边分别为:a={0},b={1},c={2}",a,b,c))print(str.format("三角形的面积 = {0}",area))#3.7 输入两个整数a和b,比较两者大小,使得a大于b
a =int(input("请输入第1个整数:"))
b =int(input("请输入第2个整数:"))print(str.format("输入值:{},{}",a,b))if a<b:
t = a
a = b
b = t
print(str.format("降序值:{},{}",a,b))#3.8 计算分段函数 P59#方法1import math
x =float(input("请输入x的值:"))if x>=0:
y = math.sin(x)+2*math.sqrt(x+math.exp(4))- math.pow(x+1,3)if x<0:
y = math.log(-5*x)- math.fabs(x*x-8*x)/(7*x)+ math.e #fabs:取绝对值print(y)#方法2import math
x =float(input("请输入x的值:"))if x>=0:
y = math.sin(x)+2*math.sqrt(x+math.exp(4))- math.pow(x+1,3)else:
y = math.log(-5*x)- math.fabs(x*x-8*x)/(7*x)+ math.e #fabs:取绝对值print(y)#方法3import math
x =float(input("请输入x的值:"))
y =(math.sin(x)+2*math.sqrt(x+math.exp(4))- math.pow(x+1,3))\
if(x>=0)else(math.log(-5*x)- math.fabs(x*x-8*x)/(7*x)+ math.e)#fabs:取绝对值print(y)#3.9 已知某课程的百分制分数mark,将其转换为五级制的评定等级grade#方法1
mark =int(input("请输入分数:"))if mark >=90:
grade ="优"elif mark >=80:
grade ="良"elif mark >=70:
grade ="中"elif mark >=60:
grade ="及格"else:
grade ="不及格"print(grade)#方法2
mark =int(input("请输入分数:"))if mark >=90:
grade ="优"elif mark >=80and mark <90:
grade ="良"elif mark >=70and mark <80:
grade ="中"elif mark >=60and mark <70:
grade ="及格"else:
grade ="不及格"print(grade)#方法3
mark =int(input("请输入分数:"))if mark >=90:
grade ="优"elif80<= mark <90:
grade ="良"elif70<= mark <80:
grade ="中"elif60<= mark <70:
grade ="及格"else:
grade ="不及格"print(grade)#方法4(错误)
mark =int(input("请输入分数:"))if mark >=60:
grade ="及格"elif mark >=70:
grade ="中"elif mark >=80:
grade ="良"elif mark >=90:
grade ="优"else:
grade ="不及格"print(grade)#3.10 已知坐标点(x,y),判断其所在的象限
x =int(input("请输入x坐标:"))
y =int(input("请输入y坐标:"))if x==0and y==0:print("位于原点")elif x==0:print("位于y轴")elif y==0:print("位于x轴")elif x>0and y>0:print("位于第一象限")elif x<0and y>0:print("位于第二象限")elif x<0and y<0:print("位于第三象限")else:print("位于第四象限")#3.11#方法1
x =float(input("请输入一个数:"))if x>0: y=1elif x==0: y=0else: y=-1print(y)#方法2
x =float(input("请输入一个数:"))if x>=0:if x>0:y=1else: y=0else: y=-1print(y)#方法3
x =float(input("请输入一个数:"))
y=1if x!=0:if x<0: y=-1else: y=0print(y)#方法4(错误)
x =float(input("请输入一个数:"))
y=1if x!=0:if x<0: y=-1else: y=0print(y)#3.12
a =int(input("请输入整数a:"))
b =int(input("请输入整数b:"))
c =int(input("请输入整数c:"))if a<b: a,b = b,a
if a<c: a,c = c,a
if b<c: b,c = c,b
print("排序结果(降序):",a,b,c)#3.13#方法1
y =int(input("请输入年份:"))if(y%4==0and y%100!=0)or y%400==0:print("是闰年")else:print("不是闰年")#方法2
y =int(input("请输入年份:"))if y%400==0:print("是闰年")else:if y%4==0:if y%100==0:print("不是闰年")else:print("是闰年")else:print("不是闰年")#方法3
y =int(input("请输入年份:"))if y%400==0:print("是闰年")elif y%4!=0:print("不是闰年")elif y%100==0:print("不是闰年")else:print("是闰年")#方法4import calendar
y =int(input("请输入年份:"))if calendar.isleap(y):print("是闰年")else:print("不是闰年")#3.14 利用for循环求1-100中所有奇数的和以及偶数的和
sum_odd =0; sum_even =0for i inrange(1,101):if i%2!=0:
sum_odd += i
else:
sum_even += i
print("1-100中所有奇数的和:",sum_odd)print("1-100中所有偶数的和:",sum_even)#3.15
i =1; sum_all =0; sum_odd =0; sum_even =0while i<=100:
sum_all += i
if(i%2==0):
sum_even += i
else:
sum_odd += i
i +=1print("和=%d、奇数和=%d、偶数和=%d"%(sum_all,sum_odd,sum_even))#3.16
i =1; e =1; t =1while1/t >=pow(10,-6):
t *= i
e +=1/t
i +=1print("e =",e)#3.17#矩形块for i inrange(1,10):
s =""for j inrange(1,10):
s +=str.format("{0:1}*{1:1}={2:<2} ",i,j,i*j)print(s)#下三角for i inrange(1,10):
s =""for j inrange(1,i+1):
s +=str.format("{0:1}*{1:1}={2:<2} ",i,j,i*j)print(s)#上三角(有点问题)for i inrange(1,10):
s =""for j inrange(i,10):
s +=str.format("{0:1}*{1:1}={2:<2} ",i,j,i*j)print(s)#3.18whileTrue:
s =input("请输入字符串(按Q或者q结束):")if s.upper()=="Q":breakprint("字符串的长度为:",len(s))#3.19#方法一import math
m =int(input("请输入一个整数(>1):"))
k =int(math.sqrt(m))for i inrange(2,k+2):if m%i ==0:breakif i == k+1:print(m,"是素数!")else:print(m,"是合数!")#方法二import math
m =int(input("请输入一个整数(>1):"))
k =int(math.sqrt(m))
flag =True
i =2while i<=k and flag==True:if m%i ==0:
flag =Falseelse:
i +=1if(flag ==True):print(m,"是素数!")else:print(m,"是合数!")#3.20
num =0; scores =0whileTrue:
s =input("请输入学生成绩(按Q或q结束):")if s.upper()=="Q":breakiffloat(s)<0:continue
num +=1
scores +=float(s)print("学生的人数为:{0},平均成绩为{1}".format(num,scores/num))#3.21
j =0print("100-200之间不能被3整除的数为:")for i inrange(100,201):if i%3==0:continueprint(str.format("{0:<5}",i),end="")
j +=1if j%10==0:print()#3.22import math
whileTrue:
num =float(input("请输入一个整数:"))print(str(num),"的平方根为:",math.sqrt(num))print("Good bye!")#3.23
hobbies =""for i inrange(1,4):
s =input("请输入爱好之一(最多三个,按Q或q结束):")if s.upper()=="Q":break
hobbies += s+" "else:print("你输入了三个爱好")print("你的爱好为:",hobbies)#3.24
EPSILON =1e-15#误差
a =float(input("请输入正实数a:"))
t = a
whileabs(t-a/t)> EPSILON*t:
t =(a/t+t)/2.0print(t)#3.25
f1 =1; f2 =1for i inrange(1,11):print(str.format("{0:6}{1:6}",f1,f2),end=" ")if i%2==0:print()
f1 += f2; f2 +=f1
#3.26(莫名奇妙)import random
print("Good Luck!")print("你今天的幸运随机数是:",random.choice(range(10)))#3.27(未导入包)print("Good Luck!")print("你今天的幸运随机数是:",random.choice(range(10)))#3.28(零除错误)
a =1
b =0
c = a/b
#3.29(逻辑错误)import math
a =1; b =2; c =1
x1 =-b + math.sqrt(b*b-4*a*c)/2*a
x2 =-b - math.sqrt(b*b-4*a*c)/2*a
print(x1,x2)#3.30#1#2#3#4#5#6#7#8#3.311/0#3.32
a =float(input("请输入一个数:"))if a<0:raise ValueError("数值不能为负数")#3.33
i1 =1; i2 =0print(i1/i2)#3.34#3.35import turtle
p = turtle.Turtle()
p.color("red")
p.pensize(3)
turtle.speed(1)
p.goto(0,0)for i inrange(4):
p.forward(100)
p.right(90)#3.36import turtle
p = turtle.Turtle()
p.speed(0)
colors =["red","blue","green","yellow"]for i inrange(100):
p.pencolor(colors[i%4])
p.circle(i)
p.left(91)