为了账号安全,请及时绑定邮箱和手机立即绑定

我将如何执行此操作?Python

我将如何执行此操作?Python

茅侃侃 2021-11-02 15:38:58
我对 python 很陌生,想知道如何编写一个程序,要求用户输入一个包含字母“a”的字符串。然后,在第一行,程序应该打印字符串的一部分,直到并包括某个字母,第二行应该是字符串的其余部分。例如...Enter a word: BuffaloBuffa lo这是我到目前为止:text = raw_input("Type something: ")left_text = text.partition("a")[0]print left_text所以,我已经弄清楚打印字符串的第一部分一直到某个字母,但不知道如何打印字符串的其余部分。任何帮助,将不胜感激
查看完整描述

3 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

如果您想要的是某个字符的第一次出现,您可以使用str.find它。然后,根据该索引将字符串分成两部分!


在python 3中:


split_char = 'a'

text = input()

index = text.find(split_char)

left = text[:-index]

right = text[-index:]

print(left, '\n', right)

我手头没有 python2 来确定,但我认为这应该适用于 python 2:


split_char = 'a'

text = raw_input()

index = text.find(split_char)

left = text[:-index]

right = text[-index:]

print left + '\n' + right)

另一个更简洁的选项是使用


left_text, sep, right_text = text.partition("a")

print (left_text + sep, '\n', right_text)


查看完整回答
反对 回复 2021-11-02
?
温温酱

TA贡献1752条经验 获得超4个赞

首先找到给定字符串中字符的索引,然后使用索引相应地打印字符串。


蟒蛇 3


string=input("Enter string")

def find(s, ch):

    return [i for i, ltr in enumerate(s) if ltr == ch]

indices=find(string, "a")


for index in indices[::-1]:

    print(string[:index+1])


print(string[indices[-1]+1:])


查看完整回答
反对 回复 2021-11-02
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

您应该对切片和连接字符串或列表有一定的了解。你可以在这里学习它们切片和连接


word = raw_input('Enter word:')  # raw_input in python 2.x and input in python 3.x


split_word = raw_input('Split at: ')


splitting = word.partition(split_word)



'''Here lets assume,


   word = 'buffalo'

   split_word = 'a'


   Then, splitting variable returns list, storing three value,

           ['buff', 'a', 'lo']


   To get your desire output you need to do some slicing and concatenate some value .

'''


output = '{}\n{}'.join(splitting[0] + splitting[1], splitting[2])

print(output) 


查看完整回答
反对 回复 2021-11-02
  • 3 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信