有没有办法让python检查/打印字符串中的最后一个单词/数字?
这是我到目前为止的一个例子:
x = input("Input what you want to do to your number and your number: ")
if word.startswith("Pi"):
Pi_A = x * Pi # I need x to look at the number
print (Pi_A)
我只需要查看最后一个单词/数字,这样我就可以做到这一点。
编辑(输入/输出):
输入:(“Pi 2”是用户输入的内容)
输入您想要对您的号码和号码做的事情:Pi 2
输出:(回答π* 2)
6.2 ...
答案 0 :(得分:3)
最明显的解决方案是str.endswith
:
>>> "x * Pi".endswith("Pi")
True
但是,如果它不是一个单独的词,这也会返回true:
>>> "PiPi".endswith("Pi")
True
因此,如果您想要以空格分隔的字符串中的最后一个单词,则可以使用
>>> "x * Pi".split()[-1] == "Pi"
True
>>> "PiPi".split()[-1] == "Pi"
False
答案 1 :(得分:2)
您可以使用rsplit
来获取最后一个字。然后检查最后一个单词是否以Pi
word = text.rsplit(None, 1)[1]
if word.startswith("Pi"):
print (x * Pi) # there is more this is just a example
答案 2 :(得分:2)
说你的字符串是“hello2014bye2013”:
以下代码应该完成这项工作:
word = "hello2014bye2013"
alist = list(word)
print (alist[-1])
如果你有很多单词和数字,那么这应该有效:
blabla = "hello 4 my 8 name 911 is 049 Python"
lastword= blabla.split()[-1]
print (blabla)
答案 3 :(得分:1)
这就是你要找的东西
import math
x = raw_input("Input action to be peformed on your number, followed by your number: ")
# Assume "Pi 2" is entered
x = x.split()
action = x[0]
number = int(x[1])
if action.startswith("Pi"):
print number * math.pi
执行
$ python j.py
Input action to be peformed on your number, followed by your number: Pi 2
6.28318530718
建议:使用" raw_input"而不是"输入"保存引号(也让你为Python 3.0做好准备;)