我是蟒蛇新手,有一本书,玩耍,所以请善待。主要是我一直在玩ASCII艺术
我想要做的是将一些艺术藏在某些文字中。所以说我有一个字符串打印出“单词”,我想要做的是编写一个函数,帮助我将一个字符插入到该单词的中间,无论该单词有多长,它总是把我的艺术角色放到中间这个词。所以我的输出将是 '字'。 我到目前为止开始的是:
def dashinsert(str):
return str[:2] + '-' + str[2:]
我知道这不是它所需要的地方,而且我只是一个初学者,但任何看起来的方向都很受欢迎,我不确定我是否做了一些正确的
我的目标是从中学习,然后将随机字符插入到不同位置的单词中,以便在文本中进行艺术创作。即我输入一个段落,艺术作为一个功能插入自己。现在我只是想把这个插入部分放下来
答案 0 :(得分:5)
使用双斜杠进行整数除法
def dashinsert(str):
midPoint = len(str)//2
return str[:midPoint] + '-' + str[midPoint:]
答案 1 :(得分:2)
def insert_string(org_string, string, pos=None):
# default position middle of org_string
if pos is None:
pos = len(org_string) / 2
return org_string[:pos] + string + org_string[pos:]
if __name__ == "__main__":
new_string = insert_string("world", "-")
print new_string
输出
wo-rd
答案 2 :(得分:0)
你有一个良好的开端!我的Python上有点生疏,但你可以尝试添加一个位置参数来改变字符串里面插入破折号的位置(现在,它被硬编码为位置2:
Option Explicit
Sub cont()
Application.Volatile
Dim sht As Worksheet
Dim myRange As Variant
Dim Rng As Range
Dim Lastrow, ecol, eRow As Integer
Dim station As String
Dim wb As Workbook, wb2 As Workbook
Set wb = ActiveWorkbook
wb.Sheets("Nov").Activate
eRow = Cells(Rows.Count, 2).End(xlUp).Row
station = Range("B2").Value
Range(Cells(2, 2), Cells(eRow, 2)).Copy
MsgBox "Transfer data for station: " & station
On Error GoTo 0
wb.Sheets("Nov Template").Activate
Set sht = ActiveWorkbook.Sheets("Nov Template")
ecol = sht.UsedRange.Columns.Count
sht.Range(Cells(1, 2), Cells(eRow, 2)).PasteSpecial xlPasteValues
With ActiveSheet.UsedRange
Lastrow = .Rows(.Rows.Count).Row
Set Rng = Range(Cells(1, "C"), Cells(Lastrow, ecol))
myRange = sht.Rng.Value
End With
Workbooks.Open "G:\Mean2std\Merge NDj (2).xlsm"
Set wb2 = ActiveWorkbook
wb2.Worksheets("GM").Range("B3:AO32").Value = myRange
wb2.Close SaveChanges:=True
End Sub
或者,也许您想要改变您插入的角色类型:
def dashinsert(str, position):
length = len(str)
if (position > length or position < 0):
return str
return str[:position] + '-' + str[position:]
或者,也许你想随机化插入角色的位置:
def characterinsert(str, position, insertion):
length = len(str)
if (position > length or position < 0):
return str
return str[:position] + insertion + str[position:]
然后,您可以使用** kwargs 和 * args 来处理更高级的方法,以改变传递给函数的参数。关于这两个概念,这是一个很好的tutorial to start learning。