2013-11-12 5 views
0

Есть ли способ получить проверку/печать python последним словом/числом только в строке?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) 

мне нужно просто посмотреть на последнее слово/число, так что я могу сделать сумму.

редактировать (вход/выход):

Input: ("Pi 2" является то, что пользователь вводит)

Ввод то, что вы хотите сделать ваш номер и номер: Pi 2

Выход: (Ответ я * 2)

6,2 ...

+0

Сообщения пример ввода/вывод – jramirez

+0

В этом коде, 'word' не определен. Какова остальная часть кода? – iCodez

ответ

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 

Execution

$ python j.py 
Input action to be peformed on your number, followed by your number: Pi 2 
6.28318530718 

Предложение: Используйте "raw_input" вместо "ввода", чтобы сохранить кавычки (также, чтобы вы готовы к Python 3.0;)

2

Вы можете использовать rsplit, чтобы получить последнее слово. а затем проверить, если последнее слово начинается с Pi

word = text.rsplit(None, 1)[1] 
if word.startswith("Pi"): 
    print (x * Pi) # there is more this is just a example 
3

Наиболее очевидным решением было бы str.endswith:

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

Однако, это также возвращает истину, если он не был индивидуальный слово:

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

Итак, если вы хотите использовать последнее слово в строке, разделенной пробелами, вы можете использовать

>>> "x * Pi".split()[-1] == "Pi" 
True 
>>> "PiPi".split()[-1] == "Pi" 
False 
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) 
+0

Что делать, если число равно 2 цифрам? 3? 4? ... –

+0

@AshishNitinPatil Я только что добавил эту часть. Повторите еще раз :) – kiasy

+1

Это может сделать работу. :) –

Смежные вопросы