0

有没有办法让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...

4

4 回答 4

4

最明显的解决方案是str.endswith

>>> "x * Pi".endswith("Pi")
True

但是,如果它不是一个单独的单词,这也将返回 true:

>>> "PiPi".endswith("Pi")
True

因此,如果您想要以空格分隔的字符串中的最后一个单词,您可以使用

>>> "x * Pi".split()[-1] == "Pi"
True
>>> "PiPi".split()[-1] == "Pi"
False
于 2013-11-12T22:00:19.630 回答
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)
于 2013-11-12T22:03:31.200 回答
2

您可以使用rsplit来获取最后一个字。然后检查最后一个单词是否以Pi

word = text.rsplit(None, 1)[1]
if word.startswith("Pi"):
    print (x * Pi) # there is more this is just a example
于 2013-11-12T21:57:34.103 回答
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”而不是“input”来保存引号(也让你为 Python 3.0 做好准备;)

于 2013-11-12T22:19:07.237 回答