算法模拟/python/入门模拟图形输出

这篇博客展示了三个不同的编程挑战,包括打印与奥巴马名字相同的字符数的图形,创建沙漏图案,以及输出'Hello World'的变形。每个挑战都关注了图形输出的实现,并通过计时来衡量代码执行效率。挑战涉及字符串操作、循环和条件判断等编程概念。
摘要由CSDN通过智能技术生成

图形输出

  1. 跟奥巴马一起编程
import time
time_start=time.time()

n,char= input().split()
n = int(n)
print(char*n)
if n % 2 == 0:
    row = n // 2 - 2
else:
    row = n // 2 - 1
for i in range(row):
    print(char,' '*(n-4),char)
print(char*n)

time_end=time.time()
print('time cost',time_end-time_start,'ms')

  1. 打印沙漏
import time
time_start=time.time()
import math

n,char= input().split()
n = int(n)
bottom = int(math.sqrt(2*(n+1))-1)
if bottom % 2 == 0:
    bottom -= 1
d = bottom
print(char*bottom)
while d != 1:
    d = d - 2
    block = (bottom - d) // 2 - 1
    print(' '*block,char*d)
d = 1
while d != bottom - 2:
    d = d + 2
    block = (bottom - d) // 2 - 1
    print(' '*block,char*d)
print(char*bottom)
    
m = (bottom + 1) ** 2 / 2 - 1
print(int(n-m))
time_end=time.time()
print('time cost',time_end-time_start,'ms')

  1. Hello World for U
import time
time_start=time.time()

char = input()
n = len(char)
n1 = (n + 2) // 3 - 1
n2 = n - n1 * 2
block = n2 - 4
for i in range(n1):
    print(char[i],' '*block,char[-(i+1)])
print(char[n1:n1+n2])
time_end=time.time()
print('time cost',time_end-time_start,'ms')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值