Python 第三章 流程控制 例题总会

目录

1 输入一个十进制数,输出二进制,八进制,十六进制数

2 输入一个华氏温度,要求输出摄氏温度,公式为:C=5/9*(F-32)

3 从键盘输入两个整数a和b合并成一个新的四位数,例如:a = 54,b = 12,则c的值为5142

4 财务人员给员工发工资时经常遇到一个问题,即根据每个人的工资金额计算钞票面值的樟树,且总张数最少(100元,50元,20元,10元,5元,1元)

5 输入三角形边长,输出面积

6 输入2个数,输出最大值

7 输入一个整数判断奇数偶数

8 判断一个数是否能被7或11整除但不能同时整除

9 判断某一年是否为闰年:能被4整除但不能被100整除,或者能被400整除

10 《车辆驾驶人员血液、呼气酒精含量阈值与检验》标准中规定:驾驶员血液酒精小于20mg/100ml 不构成酒驾,大于或等于20mg/ml、小于80mg/ml为饮酒驾驶则暂扣6个月机动车驾驶证、1000~2000元罚款、一次记12分;驾驶员血液酒精大于或等于80mg/ml为醉酒驾驶则约束至酒醒、吊销驾驶证、5年内不得重新获取驾驶证、追究刑事责任(注意:饮用350mL(约相当于1小瓶)啤酒或半两白酒(20ml)后,血液酒精浓度可达20mg/100ML,即达到饮酒驾驶的处罚条件)

11 输入三个整数,降序输出

12  输入一个百分之成绩,根据输出等级成绩

13 计算1+2+3+4+5+...+100之和

14 计算a+aa+aaa+a…a前6项之和(a=2)

15 用泰勒级数计算e的近似值,直到最后一项小于1e-6为止,e=1+1/1!+ 1/2! +1/3!+……1/n!

16 计算r=1 时圆的面积直到大于100为止

17 将100到150之间的不能被3整除的数输出,要求一行输出10个数。

18 查找1-99中第一个是2,3,5的最小公倍数的数

19 查找1-99中是2,3,5的最小公倍数的数

20 输入一个整数,判断是否为素数:

21 枚举法:输出100以内的素数

22 枚举法:输出200-400间的非素数

23 枚举法:输出大于m且紧随m的k个素数,如:m = 5 k = 3 结果为:7 11 13

24 输出100以内的能被9整除余数为2的数,计算其平均值的平方根并输出

25 输出水仙花数,是一个三维数,每位数的立方和等于原值,如:153 == 1^3+5^3+3^3

26 输出1000以内的完数,完数:因子之和等于原值,如:6 ==1+2+3

27 输出100以内的同构数,同构数:若一个正整数出现在他的平方数的右侧则为同构数,如:5 ==2 == 5 ==

28 输出100以内的回文数字(整数倒置算法)

29 求a与b之间的最小公倍数

30 求整数x的最大公约数及最小公倍数

31 用户在键盘中输入一个四位数的整数转换为英文输出,如:输入1024 ,打印:One Zero Two Four

32 Fibonacci数列,古典数学问题有一对兔子,从出生后第三个月都生一对兔子,小兔子到第三个月又都生一对兔子,假设兔子不死问每月的兔子数字规律:1 1 2 3 5 8 13 ......

33 计算Fibonacci数列中大于t的最小值,如:t=6 输出:8

34 有一张足够大的纸,厚度为0.09mm,问对折多少次后其厚度会超过珠穆朗玛峰的高度(8848m)

35 爱因斯坦阶梯问题:有多级阶梯,每步跨2阶余1阶、每步跨3阶余2阶、每步跨4阶余3阶、每步跨5阶余4阶、每步跨6阶余5阶、每步跨7阶正好,求解该阶梯一共有多少阶梯

36 百钱买百鸡问题,鸡翁值钱伍,鸡母值钱叁,鸡雏值壹钱,百钱买百鸡,鸡翁,鸡母,鸡雏各几何?

37 搬砖为:36人搬36块砖,男搬4、女搬3,2个小孩抬一块砖,一次性搬完,需要男、女、小孩个多少人

38 猴子偷桃:一天吃一半还要多吃一个,第七天吃完,问偷桃总数为多少?

40.打印如下图形

41.绘制40 图形的倒置


1 输入一个十进制数,输出二进制,八进制,十六进制数

# 1 输入一个十进制数,输出二进制,八进制,十六进制数
num = int(input('请输入一个十进制:'))
print('您输入的十进制数为:', num)
print('转换为二进制为:', bin(num))
print('转换为八进制为:', oct(num))
print('转换为十六进制为:', hex(num))

# 结果:
# 请输入一个十进制:10
# 您输入的十进制数为: 10
# 转换为二进制为: 0b1010
# 转换为八进制为: 0o12
# 转换为十六进制为: 0xa

2 输入一个华氏温度,要求输出摄氏温度,公式为:C=5/9*(F-32)

F = float(input('请输入一个华氏温度:'))
C = 5 / 9 * (F - 32)
print('该华氏温度的摄氏温度为:', C)

# 结果:
# 请输入一个华氏温度:98
# 该华氏温度的摄氏温度为: 36.66666666666667

3 从键盘输入两个整数a和b合并成一个新的四位数,例如:a = 54,b = 12,则c的值为5142

a = int(input('请输入一个两位整数:'))
b = int(input('请输入另一个整数:'))
c = a % 10 * 10 + b % 10 + a // 10 % 10 * 1000 + b // 10 % 10 * 100
print("合并成一个新四位数为:", c)

# 结果:
# 请输入一个两位整数:54
# 请输入另一个整数:12
# 合并成一个新四位数为: 5142

4 财务人员给员工发工资时经常遇到一个问题,即根据每个人的工资金额计算钞票面值的樟树,且总张数最少(100元,50元,20元,10元,5元,1元)

# 方法一
money = int(input('请输入工资金额:'))
print('100元:', money // 100, '张')
print('50元:', money % 100 // 50, '张')
print('20元:', money % 100 % 50 // 20, '张')
print('10元:', money % 100 % 50 % 20 // 10, '张')
print('5元:', money % 100 % 50 % 20 % 10 // 5, '张')
print('1元:', money % 100 % 50 % 20 % 10 & 5 // 1, '张')

# 方法二
money = int(input('请输入工资金额为:'))
print('100元:', money // 100, '张')
money = money % 100
print('100元:', money // 50, '张')
money = money % 50
print('100元:', money // 20, '张')
money = money % 20
print('100元:', money // 10, '张')
money = money % 10
print('100元:', money // 5, '张')
money = money % 5
print('100元:', money // 1, '张')

# 结果:
# 请输入工资金额:1645
# 100元: 16 张
# 50元: 0 张
# 20元: 2 张
# 10元: 0 张
# 5元: 1 张
# 1元: 5 张

5 输入三角形边长,输出面积

# 使用数学模块 math
import math

a = int(input())
b = int(input())
c = int(input())
s = (a + b + c) / 2
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
print(area)

# 不使用数学模块
a = int(input())
b = int(input())
c = int(input())
area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
print(area)

# 结果:
# 3
# 4
# 5
# 6.0

6 输入2个数,输出最大值

a = int(input())
b = int(input())
max = a
if a < b:
    max = b
print(max)

# 结果
# 6
# 5
# 6

7 输入一个整数判断奇数偶数

# 方法一
num = int(input("请输入数字:"))
if num % 2 == 1:
    print("奇数")
else:
    print("偶数")
# 方法二
num = int(input("请输入数字:"))
if num & 1 == 1:
    print("奇数")
else:
    print("偶数")

# 结果:
# 请输入数字:26
# 偶数

8 判断一个数是否能被7或11整除但不能同时整除

num = int(input("请输入数字"))
if (num % 7 == 0 and num % 11 == 0 and num % 77 != 0):
    print("yes")
else:
    print('no')

# 结果:
# 请输入数字19
# no

9 判断某一年是否为闰年:能被4整除但不能被100整除,或者能被400整除

year = int(input('请输入年份:'))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
    print('%d年是闰年' % year)
else:
    print('%d年是平年' % year)

# 结果:
# 请输入年份:2020
# 2020年是闰年

10 《车辆驾驶人员血液、呼气酒精含量阈值与检验》标准中规定:驾驶员血液酒精小于20mg/100ml 不构成酒驾,大于或等于20mg/ml、小于80mg/ml为饮酒驾驶则暂扣6个月机动车驾驶证、1000~2000元罚款、一次记12分;驾驶员血液酒精大于或等于80mg/ml为醉酒驾驶则约束至酒醒、吊销驾驶证、5年内不得重新获取驾驶证、追究刑事责任(注意:饮用350mL(约相当于1小瓶)啤酒或半两白酒(20ml)后,血液酒精浓度可达20mg/100ML,即达到饮酒驾驶的处罚条件)

proof = int(input("请输入100ml血液的酒精含量:"))
if proof < 20:
    print("不构成酒驾,请注意安全!")
else:
    if proof < 80:
        print("酒驾,暂扣6个月机动车驾驶证、1000~2000元罚款、一次记12分")
    else:
        print("醉驾,约束至酒醒、吊销驾驶证、5年内不得重新获取驾驶证、追究刑事责任")

# 结果:
# 请输入100ml血液的酒精含量:50
# 酒驾,暂扣6个月机动车驾驶证、1000~2000元罚款、一次记12分

11 输入三个整数,降序输出

a = int(input('请输入第一个整数'))
b = int(input('请输入第二个整数'))
c = int(input('请输入第三个整数'))
if (a > b):
    if (a > c):
        if (b > c):
            print(a, b, c)
        else:
            print(a, c, b)
    else:
        print(c, a, b)
else:
    if (b > c):
        if (a > c):
            print(b, a, c)
        else:
            print(b, c, a)
    else:
        print(c, b, a)

# 结果:
# 请输入第一个整数1
# 请输入第二个整数2
# 请输入第三个整数3
# 3 2 1

12  输入一个百分之成绩,根据输出等级成绩

      x>=90 优秀

90>x>=80 良好

80>x>=60 及格

        x<60 补考

num = int(input("请输入百分制成绩:"))
if num > 100 or num < 0:
    print("数据错误,请输入0-100范围内数字!")
elif num >= 90:
    print("优秀")
elif num >= 80:
    print("良好")
elif num >= 60:
    print("及格")
else:
    print("补考")

# 结果:
# 请输入百分制成绩:86
# 良好

13 计算1+2+3+4+5+...+100之和

# while 循环
sum = 0
i = 1
while i <= 100:
    sum += i
    i += 1
print("sum = ", sum)
# for循环
sum = 0
for i in range(101):
    sum += i
print("sum = ", sum)

# 结果:
# sum =  5050

14 计算a+aa+aaa+a…a前6项之和(a=2)

a = 2
sum = 0
for i in range(6):
    sum = sum + a
    a = a * 10 + 2
print("sum=", sum)

# 结果:
# 246912

15 用泰勒级数计算e的近似值,直到最后一项小于1e-6为止,e=1+1/1!+ 1/2! +1/3!+……1/n!

sum = 1
t = 1
i = 1
while 1 / t > 1e-6:
    t = t * i
    sum = sum + 1 / t
    i += 1
print("sum=%.6f" % sum)

# 结果:
# sum=2.718282

16 计算r=1 时圆的面积直到大于100为止

import math

for r in range(1, 11):
    area = math.pi * r * r
    if area > 100:
        break
print('r:', r, 'area is :%.6f' % area)

# 结果:
# r: 6 area is :113.097336

17 将100到150之间的不能被3整除的数输出,要求一行输出10个数。

i = 0
for n in range(100, 151):
    if n % 3 == 0:
        continue
    print(n, end=' ')
    i += 1
    if i % 10 == 0:
        print()

# 结果:
# 100 101 103 104 106 107 109 110 112 113
# 115 116 118 119 121 122 124 125 127 128
# 130 131 133 134 136 137 139 140 142 143
# 145 146 148 149

18 查找1-99中第一个是2,3,5的最小公倍数的数

for i in range(1, 100):
    if i % 2 == 0 and i % 3 == 0 and i % 5 == 0:
        print('%d 是2,3,5,的最小公倍数' % i)
        break
else:
    print('未找到')

# 结果:
# 30 是2,3,5,的最小公倍数

19 查找1-99中是2,3,5的最小公倍数的数

for i in range(1, 100):
    if i % 2 == 0 and i % 3 == 0 and i % 5 == 0:
        print('%d 是2,3,5,的最小公倍数' % i)
        # break

# 结果:
# 30 是2,3,5,的最小公倍数
# 60 是2,3,5,的最小公倍数
# 90 是2,3,5,的最小公倍数

20 输入一个整数,判断是否为素数:

        定义 --- 素数:只能被1和自己本身整除的数称为素数

# 方法1
prime = int(input('请输入一个正整数:'))
if prime < 2:  # 保证输入数据大于2
    print('请输入大于2的正整数!')
else:
    for i in range(2, prime):  # 遍历[2,prime-1]
        if prime % 2 == 0:
            print('平数')
            break
        else:
            print('素数')
# 方法2
prime = int(input('请输入一个正整数:'))
i = 2
if prime < 2:  # 保证输入数据大于2
    print('请输入大于2的正整数!')
else:
    while prime % i:
        i = i + 1
        if i == prime:
            print('平数')
        else:
            print('素数')
# 方法3
# 筛选法:素数i的倍数一定不是素数,如序列1-20中去掉2的倍数,3的倍数....剩余一定是素数
list1 = list(range(0, 101))  # 产生0-100的列表
print()
i = 2  # 优于最小素数为2,则遍历元素时从2开始,列表中索引与值相同
while i < 100:  # 遍历列表
    j = list1[i] * 2  # 计算当前值的倍数
    while j < 100:
        list1[j] = 0  # 将当前的倍数置为0
        j = j + list1[i]
    i += 1
    while list1[i] == 0:
        i = i + 1  # 将已经置0的元素排除,不在遍历
for i in range(2, 100):
    if list1[i] != 0:
        print(list1[i], end=' ')

# 结果:
# 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

21 枚举法:输出100以内的素数

k = 0
for i in range(2, 100):  # 遍历2-99

    for j in range(2, i):  # 判断i是否为素数
        if i % j == 0:
            break
    else:
        print(i, end=" ")  # 输出素数
        k += 1
        if k == 10:
            print()
            k = 0

# 结果:
# 2 3 5 7 11 13 17 19 23 29
# 31 37 41 43 47 53 59 61 67 71
# 73 79 83 89 97

22 枚举法:输出200-400间的非素数

k = 0
for i in range(200, 400):
    for j in range(2, i):
        if i % j == 0:
            print(i, end=' ')
            k = k + 1
            if k == 10:
                print()
                k = 0
            break

# 结果:
# 200 201 202 203 204 205 206 207 208 209
# 210 212 213 214 215 216 217 218 219 220
# 221 222 224 225 226 228 230 231 232 234
# 235 236 237 238 240 242 243 244 245 246
# 247 248 249 250 252 253 254 255 256 258
# 259 260 261 262 264 265 266 267 268 270
# 272 273 274 275 276 278 279 280 282 284
# 285 286 287 288 289 290 291 292 294 295
# 296 297 298 299 300 301 302 303 304 305
# 306 308 309 310 312 314 315 316 318 319
# 320 321 322 323 324 325 326 327 328 329
# 330 332 333 334 335 336 338 339 340 341
# 342 343 344 345 346 348 350 351 352 354
# 355 356 357 358 360 361 362 363 364 365
# 366 368 369 370 371 372 374 375 376 377
# 378 380 381 382 384 385 386 387 388 390
# 391 392 393 394 395 396 398 399

23 枚举法:输出大于m且紧随m的k个素数,如:m = 5 k = 3 结果为:7 11 13

m = int(input('请输入起始值:'))
k = int(input('请输入需要的素数个数:'))
i = m + 1
t = 0  # 计数器,记录找到的素数个数
while t < k:  # 当自己找到的素数个数小余指定个数时继续寻找
    for j in range(2, i):
        if i % j == 0:  # 判断i是否为素数
            break
    else:
        t = t + 1  # 记录找到的素数个位数
        print(i, end=' ')  # 输出素数
    i = i + 1  # 继续下一个数的寻找

# 结果:
# 请输入起始值:5
# 请输入需要的素数个数:3
# 7 11 13

24 输出100以内的能被9整除余数为2的数,计算其平均值的平方根并输出

aver = 0
t = 0  # 计算器
for i in range(100):
    if i % 9 == 2:  # 计算对9取余余数为2
        print(i, end=' ')
        aver = aver + i  # 计算和值
        t = t + 1  # 记录个数
print('\n aver=%.2f' % ((aver / t) ** 0.5))

# 结果:
# 2 11 20 29 38 47 56 65 74 83 92
#  aver=6.86

25 输出水仙花数,是一个三维数,每位数的立方和等于原值,如:153 == 1^3+5^3+3^3

for i in range(100, 1000):
    if (i % 10) ** 3 + (i // 10 % 10) ** 3 + (i // 100) ** 3 == i:
        print("水仙花数:", i)

# 结果:
# 水仙花数: 153
# 水仙花数: 370
# 水仙花数: 371
# 水仙花数: 407

26 输出1000以内的完数,完数:因子之和等于原值,如:6 ==1+2+3

for i in range(1, 1000):  # 遍历0-999,最小完数为6
    sum = 0  # 每判断一个i必须先清零其因子之和
    for j in range(1, i):  # 寻找i的因子
        if i % j == 0:
            sum = sum + j  # 计算因子之和sum
    if sum == i:  # 判断因子之和是否等于原数
        print(i, end=' ')

# 结果:
# 6 28 496

27 输出100以内的同构数,同构数:若一个正整数出现在他的平方数的右侧则为同构数,如:5 ==2 == 5 ==

for i in range(100):
    # 100以内的同构数平方后可能为2位数或者为3位数
    if i == i * i % 10 or i == i * i % 100:
        print(i, end=' ')

# 结果:
# 0 1 5 6 25 76

28 输出100以内的回文数字(整数倒置算法)

for i in range(200):
    t = 0  # 倒置后数
    m = i
    while m > 0:  # 对i进行整数倒置
        t = t * 10 + m % 10  # 倒置
        m = m // 10
    if t == i:  # 原数判断
        print(i, end=' ')

# 结果:
# 0 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 101 111 121 131 141 151 161 171 181 191

29 求a与b之间的最小公倍数

# 方法一
a = int(input('请输入一个数:'))
b = int(input('请输入二个数:'))
i = 1
while 1:  # 循环恒真时执行下列语句
    if i % a == 0 and i % b == 0:
        print('最小公倍数:', i)
        break  # 第一次找到公倍数时就跳出,保证是最小公倍数
    i = i + 1  # 当a =5,b=7时,i循环3*7=35圈
# ——————循环(第一个数×第二个数)次——————

# 方法二
a = int(input('请输入一个数:'))
b = int(input('请输入二个数:'))
i = 0
while 1:  # 循环恒真时执行下列语句
    if i % a == 0 and i % b == 0:
        i += a  # i默认是a 的倍数 ,当a =5,b=7时,i循环7圈
        print('最小公倍数:', i)
        break  # 第一次找到公倍数时就跳出,保证是最小公倍数
# ——————循环(第二个数-1)次——————

# 结果:
# 请输入一个数:2
# 请输入二个数:8
# 最小公倍数: 8

30 求整数x的最大公约数及最小公倍数

x = int(input('请输入一个数:'))
y = int(input('请输入二个数:'))
lcm = x + y
while x % y != 0:  # 辗转相除法
    t = x % y
    x = y
    y = t
gcd = y  # gcd是最大公约数
lcm = lcm // gcd
print('最大公约数:', gcd, "最小公倍数", lcm)

# 结果:
# 请输入一个数:8
# 请输入二个数:2
# 最大公约数: 2 最小公倍数 5

31 用户在键盘中输入一个四位数的整数转换为英文输出,如:输入1024 ,打印:One Zero Two Four

num = int(input('请输入一个四位正数'))
t = 1000
if num >= 1000 and num < 10000:
    while t > 0:
        if num // t % 10 == 0:
            print('Zero', end=' ')
        elif num // t % 10 == 1:
            print('One', end=' ')
        elif num // t % 10 == 2:
            print('Two', end=' ')
        elif num // t % 10 == 3:
            print('Three', end=' ')
        elif num // t % 10 == 4:
            print('Four', end=' ')
        elif num // t % 10 == 5:
            print('Five', end=' ')
        elif num // t % 10 == 6:
            print('Six', end=' ')
        elif num // t % 10 == 7:
            print('Seven', end=' ')
        elif num // t % 10 == 8:
            print('Eight', end=' ')
        elif num // t % 10 == 9:
            print('Nine', end=' ')
        t = t // 10
else:
    print('输入错误')
# 整数由左向右拆分

# 结果:
# 请输入一个四位正数1024
# One Zero Two Four

32 Fibonacci数列,古典数学问题有一对兔子,从出生后第三个月都生一对兔子,小兔子到第三个月又都生一对兔子,假设兔子不死问每月的兔子数字规律:1 1 2 3 5 8 13 ......

a1 = 1
a2 = 1
for i in range(6):
    print(a1, a2, end=' ')
    a1 = a1 + a2
    a2 = a1 + a2

# 结果:
# 1 1 2 3 5 8 13 21 34 55 89 144

33 计算Fibonacci数列中大于t的最小值,如:t=6 输出:8

t = int(input('请输入一个整数'))
a1 = 0
a2 = 1
a3 = 1
while t >= a3:
    a1 = a2
    a2 = a3
    a3 = a1 + a2
else:
    print('大于', t, 'Fibonacci数列中大于t的最小值为:', a3)

# 结果:
# 请输入一个整数6
# 大于 6 Fibonacci数列中大于t的最小值为: 8

34 有一张足够大的纸,厚度为0.09mm,问对折多少次后其厚度会超过珠穆朗玛峰的高度(8848m)

t = 0
h = 0.09e-3  # 纸的厚度,单位统一为米
while 1:
    h = h * 2  # 对折,即厚度乘以2
    t += 1  # 记录对这厚度
    if h > 8848:
        break
print("对折", t, "次才能超过珠穆拉玛峰的高度")

# 结果:
# 对折 27 次才能超过珠穆拉玛峰的高度

35 爱因斯坦阶梯问题:有多级阶梯,每步跨2阶余1阶、每步跨3阶余2阶、每步跨4阶余3阶、每步跨5阶余4阶、每步跨6阶余5阶、每步跨7阶正好,求解该阶梯一共有多少阶梯

print("爱因斯坦阶梯问题,求解一共有多少阶阶梯")
t = 0
while 1:
    t += 1
    if t % 2 == 1 and t % 3 == 2 and t % 4 == 3 and t % 5 == 4 and t % 6 == 5 and t % 7 == 0:
        break
print("一共有", t, '阶阶梯')

# 结果:
# 爱因斯坦阶梯问题,求解一共有多少阶阶梯
# 一共有 119 阶阶梯

36 百钱买百鸡问题,鸡翁值钱伍,鸡母值钱叁,鸡雏值壹钱,百钱买百鸡,鸡翁,鸡母,鸡雏各几何?

for cocks in range(101):
    for hens in range(101):
        for chicks in range(101):
            if cocks + hens + chicks == 100 and cocks * 5 + hens * 3 + chicks // 3 == 100 and chicks % 3 == 0:
                print("一百文可以买鸡翁:", cocks, '只,鸡母:', hens, "只,鸡雏:", chicks, '只')

# 结果:
# 一百文可以买鸡翁: 0 只,鸡母: 25 只,鸡雏: 75 只
# 一百文可以买鸡翁: 4 只,鸡母: 18 只,鸡雏: 78 只
# 一百文可以买鸡翁: 8 只,鸡母: 11 只,鸡雏: 81 只
# 一百文可以买鸡翁: 12 只,鸡母: 4 只,鸡雏: 84 只

37 搬砖为:36人搬36块砖,男搬4、女搬3,2个小孩抬一块砖,一次性搬完,需要男、女、小孩个多少人

for man in range(10):
    for girl in range(13):
        for child in range(73):
            if man + girl + child == 36 and man * 4 + girl * 3 + child // 2 == 36 and child % 2 == 0:
                print("男:", man, '女:', girl, "小孩:", child)

# 结果:
# 男: 3 女: 3 小孩: 30

38 猴子偷桃:一天吃一半还要多吃一个,第七天吃完,问偷桃总数为多少?

n = 0
for i in range(7):
    n = (n + 1) * 2
print("偷桃总数:", n)

# 结果:
# 偷桃总数: 254

40.打印如下图形

 

h = int(input('请输入图形高度:'))
for i in range(h):
    for j in range(h - i - 1):
        print(" ", end='')
    for k in range(2 * i + 1):
        print('*', end='')
    print()

# 结果:
# 请输入图形高度:5
#     *
#    ***
#   *****
#  *******
# *********

41.绘制 40 图形的倒置

h = int(input('请输入图形高度:'))
for i in range(h):
    for j in range(i):
        print(" ", end='')
    for k in range(2*(h-i)-1):
        print('*', end='')
    print()

# 结果:
# 请输入图形高度:5
# *********
#  *******
#   *****
#    ***
#     *

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White乄joker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值