疯狂Python讲义第四章练习

1.使用循环输出九九乘法口诀表:

for i in range(1,10):
    for j in range(1,i):
        print(j,'x',i,"=",i*j,",",end=" ")
    print(i,'x',i,"=",i*i)
1 x 1 = 1
1 x 2 = 2 , 2 x 2 = 4
1 x 3 = 3 , 2 x 3 = 6 , 3 x 3 = 9
1 x 4 = 4 , 2 x 4 = 8 , 3 x 4 = 12 , 4 x 4 = 16
1 x 5 = 5 , 2 x 5 = 10 , 3 x 5 = 15 , 4 x 5 = 20 , 5 x 5 = 25
1 x 6 = 6 , 2 x 6 = 12 , 3 x 6 = 18 , 4 x 6 = 24 , 5 x 6 = 30 , 6 x 6 = 36
1 x 7 = 7 , 2 x 7 = 14 , 3 x 7 = 21 , 4 x 7 = 28 , 5 x 7 = 35 , 6 x 7 = 42 , 7 x 7 = 49
1 x 8 = 8 , 2 x 8 = 16 , 3 x 8 = 24 , 4 x 8 = 32 , 5 x 8 = 40 , 6 x 8 = 48 , 7 x 8 = 56 , 8 x 8 = 64
1 x 9 = 9 , 2 x 9 = 18 , 3 x 9 = 27 , 4 x 9 = 36 , 5 x 9 = 45 , 6 x 9 = 54 , 7 x 9 = 63 , 8 x 9 = 72 , 9 x 9 = 81

2.使用循环输出等腰三角形:

#codeing: utf-8
height = int(input("请输入腰三角形的高度: "))
for i in range(height):
    star = "*" * (i*2+1)
    half_blank = " " * (int((height*2-1-(i*2+1))/2))
    print(half_blank,star,half_blank)
请输入腰三角形的高度: 5
     *     
    ***    
   *****   
  *******  
 ********* 

3.给定奇数3和5,输出(横、竖、斜的总和相等)

 需要知道一个口诀,请查看此链接:

https://blog.csdn.net/weixin_44208042/article/details/93330954

4.使用循环输出菱形:

#codeing: utf-8
height = int(input("请输入菱形的高度: "))
height = (height +1)//2
for i in range(height):
    star = "*" * (i*2+1)
    half_blank = " " * (int((height*2-1-(i*2+1))/2))
    print(half_blank,star,half_blank)
for i in range(height-1,-1,-1):
    star = "*" * (i*2+1)
    half_blank = " " * (int((height*2-1-(i*2+1))/2))
    print(half_blank,star,half_blank)
请输入菱形的高度: 9
     *     
    ***    
   *****   
  *******  
 ********* 
  *******  
   *****   
    ***    
     *  

5.使用循环输出空心菱形:

#codeing: utf-8
height = int(input("请输入菱形的高度: "))
height = (height +1)//2
for i in range(height):
    half_blank = " " * (int((height*2-1-(i*2+1))/2))
    if i == 0:
        print(half_blank,"*",half_blank,sep='')
    else:
        mid_blank = " " * (i*2-1)
        print(half_blank,"*",mid_blank,"*",half_blank,sep='')
for i in range(height-1,-1,-1):
    half_blank = " " * (int((height*2-1-(i*2+1))/2))
    if i == 0:
        print(half_blank,"*",half_blank,sep='')
    else:
        mid_blank = " " * (i*2-1)
        print(half_blank,"*",mid_blank,"*",half_blank,sep='')
请输入菱形的高度: 9
    *    
   * *   
  *   *  
 *     * 
*       *
*       *
 *     * 
  *   *  
   * *   
    *    

6.用户输入自己的成绩,程序自动判断该成绩的类型:成绩大于等于90分用A表示,80~89分用B表示,70~79分用C表示,其他的用D表示:

#codeing: utf-8
my_score = int(input("请输入您的分数: "))
print("您的成绩等级为:",end="")
if my_score >= 90:
    print("A")
elif my_score >= 80:
    print("B")
elif my_score >= 70:
    print("C")
else:
    print("D")
    
请输入您的分数: 70
您的成绩等级为:C

7.判断101~200之间有多少个素数,并输出所有的素质数:

#codeing: utf-8
is_prime = True
prime_num = 0
prime_list = []
for i in range(101,201):
    is_prime = True
    for j in range(2,i):
        if i%j == 0:
            is_prime = False
            break
    if is_prime:
        prime_num +=1
        prime_list.append(i)
print("101~200共有%d个素数,它们分别是:"%prime_num)
print(prime_list)
101~200共有21个素数,它们分别是:
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]

8.打印出所有的“水仙花数”。

#codeing: utf-8
for i in range(100,1000):
    num1 = i//100
    num2 = i//10%10
    num3 = i%10
    value = num1**3+num2**3+num3**3
    if value == i:
        print(value,end=" ")
153 370 371 407 

9、10、11/12/13:

略。

你可能感兴趣的:(python)