习题复习讲解

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)


以上是关于习题复习讲解的主要内容,如果未能解决你的问题,请参考以下文章

25-复习二

计算机网络复习整理(第一章-4)练习题整理

C Primer plus 第一章复习题及其编程题

PHP复习题(选择题)

耿老师带你复习Java习题(第8章_2)

java复习题2