我正在尝试在菱形的第一行和最后一行打印一个菱形,并在每行之间打印两个“#”符号,并在中间的一行中留一个空格。
规定:应该是一个函数diamond(n),该函数可打印带有空格和n行和n个字符宽的'#'符号的菱形。
我已经尝试过了:
for i in range(n-1):
print((n-i) * ' ' + (2*i+1) * '#')
for k in range(n-1, -1, -1):
print((n-i) * ' ' + (2*i+1) * '#')
但是我每行得到太多的'#'符号。
diamond(5)的预期结果:
#
# #
# #
# #
#
答案 0 :(得分:0)
您必须计算两个八面体之间所需的空间数量。 Y我们的第一行只有一个octo,并且之间没有空格(duh!)。那你需要
line internal spaces
2 1
3 3
4 5
5 7
...
由于您已经能够弄清楚以前的线性关系,我怀疑您可以得到这个线性关系。
space_ct = # your code here
print((n-i) * ' ' + '#' + space_ct * ' ' + '#')
你能从这里结束吗?
答案 1 :(得分:0)
尝试一下:
from sshtunnel import SSHTunnelForwarder
from sqlalchemy.orm import Session
from sqlalchemy import create_engine
server = SSHTunnelForwarder(
(remote_ip, 22),
ssh_username="sshuser",
ssh_password="sshpwd",
remote_bind_address=('127.0.0.1', 3306),
local_bind_address=('127.0.0.1','3307')
)
server.start()
engine = create_engine('mysql://dbuser:dbpwd@127.0.0.1:3307/dbname')
session = Session(engine)
rs = session.execute('select count(distinct col1) from table1')
for r in rs:
print(r[0])
session.close()
engine.dispose()
print('it gets here')
server.stop()
print('Finished!')
输出
n=2
j=n-1
print(' '*(n)+'#')
for i in range(1, 2*n):
if i>n:
print(' '*(i-n)+'#'+' '*(2*j-1)+'#')
j-=1
else:
print(' '*(n-i)+'#'+' '*(2*i-1)+'#')
if n>1:
print(' '*n+'#')