python实践第四章-流程控制

1.使用循环输出九九乘法表。输出如下结果:
1 × 1=1
1 × 2 =2, 2 × 2 = 4
l × 3 = 3, 2 × 3 = 6, 3 × 3= 9
l × 9 =9, 2 × 9 = 18, 3 × 9 = 27,… , 9 x 9 = 81
for i in range(1,10):
    for j in range(1,i+1):
        print('%s x %s = %d'%(j,i,i*j),',',end='')
    print()
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.使用循环输出等腰三角形
n = int(input('请输入三角形的高度:'))
for i in range(1,n+1):
    print(' '*(n-i)+'*'*(2*i-1))
请输入三角形的高度:5
    *
   ***
  *****
 *******
*********
3.给定奇数,输出(横、坚、斜的总和相等)
n = int(input('请输入奇数:'))
m = [[0 for i in range(n)]for i in range(n)]
num = 1
x = 0
y = n//2
for num in range(1,n*n+1):
    m[x][y] = num
    x-=1
    y+=1
    if x<0 and y>n-1:
        x=x+2
        y=y-1
    elif x<0:
        x=n-1
    elif y>n-1:
        y=0
    elif m[x][y]!=0:
        x=x+2
        y=y-1
for i in range(n):
    for j in range(n):
        print(m[i][j],end=' ')
    print()
        
请输入奇数:5
17 24 1 8 15 
23 5 7 14 16 
4 6 13 20 22 
10 12 19 21 3 
11 18 25 2 9 
4.使用循环输出菱形 (用户输入偶数, 提示不能打印)
n = int(input('请输入菱形尺寸:'))
if n%2==0:
    exit("请输入奇数")
half = n//2+1
for i in range(1,half+1):
    print(' '*(half-i)+'*'*(2*i-1))
for i in range(1,half):
    print(' '*(i)+'*'*((half-i)*2-1))
    
请输入菱形尺寸:7
   *
  ***
 *****
*******
 *****
  ***
   *
5.使用循环输出空心菱形(用户输入偶数, 提示不能打印)
n = int(input('请输入空心菱形尺寸:'))
if n%2==0:
    exit("请输入奇数")
half=n//2+1
for i in range(half):
    print(' '*(half-i-1),end='')
    if i==0:
        print('*')
    else:
        print('*'+' '*(2*i-1)+'*')
for i in range(half-1):
    print(' '*(i+1),end='')
    if i==half-2:
        print('*',)
    else:
        print('*'+' '*(n-4-2*i)+'*')
请输入空心菱形尺寸:7
   *
  * *
 *   *
*     *
 *   *
  * *
   *
6.用户输入自己的成绩,程序会自动判断该成绩的类型 成绩大于等于90分用A表示, 89分到89分用B表示, 70到79分用C表示,其他的用D表示
score = int(input("请输入分数:"))
print('你的成绩等级为:')
if score >= 90:
    print('A')
elif score >=80:
    print('B')
elif score >=70:
    print('C')
else:
    print('D')
请输入分数:78
你的成绩等级为:
C
7.判断 101到200 有多少个素数,并输出所有的质数
count = 0
a=[]
for i in range(101,200):
    for j in range(2,i):
        if i%j==0:
            break
        elif j==i-1:
            a.append(i)
            count+=1
print('质数共有%d个'%count)
print(a)
质数共有21个
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
8.打印出所有的“水仙花数” 所谓“水仙花数”,是指一个三位数,其各位数字的立方和等于该数本身
for i in range(100,1000):
    a=i//100
    b=i//10%10
    c=i%10
    if i==a**3+b**3+c**3:
        print(i,end=' ')
153 370 371 407 
9.输入一行字符, 分别统计出其中英文字母、空格、数字和其他字符的个数
s = input('请输入字符串:')
num1,num2,num3,num4=0,0,0,0
for i in s:
    if i.isalpha():
        num1+=1
    elif i.isspace():
        num2+=1
    elif i.isdigit():
        num3+=1
    else:
        num4+=1
print('字母个数:',num1)
print('空格个数:',num2)
print('数字个数:',num3)
print('其他字符个数:',num4)
请输入字符串:su$ 894hsgy%% gs@
字母个数: 8
空格个数: 2
数字个数: 3
其他字符个数: 4
10.打印出如下所示的近似圆,只要给定不同的半径,圆的大小就会随之发生改变
raidus = int(input('请输入圆的半径:'))
for i in range(2*r+1):
    half = round((raidus ** 2 - (raidus - i) ** 2) ** 0.5)
    print("  " * (raidus - half), end="")
    print("*", end="")
    print("  " * half * 2, end="")
    print("*")
    
请输入圆的半径:6
            **
      *            *
    *                *
  *                    *
*                        *
*                        *
*                        *
*                        *
*                        *
  *                    *
    *                *
      *            *
            **
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值