习题复习讲解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了习题复习讲解相关的知识,希望对你有一定的参考价值。
#给定圆的r 圆的面积周长
r=int(input(" "))
s=math.pi*(r**2)
c=2*math.pi*r
print(s,c)
2 12.566370614359172 12.566370614359172
#给两个数比较大小后按升序排列
#方法一:
a=int(input(' '))
b=int(input(' '))
c=min(a,b)
d=max(a,b)
print(c,d)
#方法二:
a=int(input(' '))
b=int(input(' '))
if a<b:
print(a,b)
else:
print(b,a)
#if的简要形式
a=int(input(' '))
b=int(input(' '))
print(b,a) if a>b else print(a,b) ############################## print( ) if 条件 else print();
#依次输入若干个整数 打印最大值 如果输入为空 则退出程序 (有退出的问题就考虑break,break 用在循环里 while 1 )
###方法一:
a=input(" ")
if a!=" ":
max=int(a)
while True:
b=input(' ')
if b==" ":
break
b=int(b)
if b>max:
max=b
print(max)
else:
b<max
print(max)
#方法二
a=input(" ")
if a!=" ":
a=int(a)
while True:
b=input(' ')
if b==" ":
break
else:
b=int(b)
if b>a:
a=b
print(a)
else:
print(a)
#输入n个数,求每次输入后的算数平均数
sum=0
n=0
while True:
a=int(input(" "))
n+=1
sum=sum+a #(sum+=a)
avg=sum/n
print(avg)
#打印九九乘法表
or i in range(1,10):
for j in range (1,10):
k=i*j
print("{}*{}={}".format(i,j,k,end=" "))
#我自己的方法
for i in range(1,10):
for j in range (1,i+1):
k=i*j
#if j<=i:
if k<=9 and j>1:
print(str(j)+"*"+str(i)+"="+str(k),end=" ") ### ×××转字符串类型时格式为“str()”。 和老师的区别在于我是每一行都是按一个单一打印
else:
print(str(j)+"*"+str(i)+"="+str(k),end=" ")
print(end=" ")
##法2
for i in range(1,10):
for j in range (1,10):
k=i*j
if i<=j:
if k<=9:
print(str(i)+"*"+str(j)+"="+str(k),end=" ")
else:
print(str(i)+"*"+str(j)+"="+str(k),end=" ")
print(end=" ")
#老师的方法:
for i in range(1,10):
#line=" "
for j in range (1,i+1):
#p=str(i*j)
#line+=str(j)+"*"+str(i)+"="+p+" "
#print("{}*{}={} ".format(j,i,i*j),end=" ")
print("{}*{}={:<{}}".format(j,i,i*j,2 if j<2 else 3),end=" ") #<2向左对齐 >2向右对齐
#print(line)
print()
#打印另一种形式的九九乘法表
#方法一
unit=" "*8
for i in range(1,10):
print((i-1)*unit,end="")
for j in range (i,10):
print("{}*{}={:<{}}".format(j,i,i*j,2 if j<2 else 3),end=" ") #<2向左对齐 >2向右对齐
print()
#方法二
for i in range(1,10):
line=" "
for j in range(i,10):
line+="{}*{}={:<{}}".format(i,j,i*j,2 if j<2 else 3)
print("{:>66}".format(line)) ###右对齐的概念
#打印出一个菱形
a=int(input(" "))
sep=" "
for i in range (-(a//2),(a//2)+1):
q=(a-abs(2*i))*"*"
z=abs(i)*sep+q
print(z)
* *** ***** ******* ***** *** *
#简化形式
a=int(input(" "))
sep=" "
for i in range (-(a//2),(a//2)+1):
print(abs(i)*sep+(a-abs(2*i))*"*")
#打印倒三角图形
#*******
# *****
# ***
# *
# ***
# *****
#*******
a=int(input(" "))
sep=" "
for i in range (-a,a+1,2):
if i!=-1:
print((a-abs(i))//2*sep+abs(i)*"*")
print(end="")
#打印闪电
sep=" "
for i in range (-3,4):
if i<0:
print(abs(i)*sep+((4-abs(i))*"*"))
elif i>0:
print(3*sep+(4-i)*"*")
else:
print(7*"*")
print()
* ** *** ******* *** ** *
#### 斐波那契数列
a = 0
b = 1
while True :
c = a + b
a = b
b = c
if c > 100 : break
print(c,a,b)
求第101项的值
a = 0
b = 1
print(0,a)
print(1,1)
n=1
while True :
c = a + b
a = b
b = c
n+=1
print(n,c)
if n ==101 : break
$$$$$$$$$$$ 求十万以内的素数
print(2)
count=1
for x in range(3,100000,2): #取奇数 抛去 2
# if x>10 and x % 5==0: # x的值 可以被五整除的话也可以去除
# continue
for i in range(3,int(x ** 0.5)+1,2): #开方加1 是这样来的 10*10=100 100/4=25 100/10=2
if x % i == 0:
break
else:
count+=1
print(count)
#猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃
#了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少
#个桃子
a=1
for i in range(8):
a=(a+1)*2
b=(a+1)*2
print(b)
以上是关于习题复习讲解的主要内容,如果未能解决你的问题,请参考以下文章