import math
x = raw_input("Enter your address")
print ("The first number to the power of the second number in your address is", math.pow(
第二个完整的课程刚刚结束,我遇到了如何在字符串中找到特定事物的麻烦。 如果用户输入地址" 1234地址" 我需要在math.pow中放置什么,以便知道如何找到数字1和2?
课堂上唯一展示的是str.index(''),我只能用它来查找字符串中特定字符的位置。
我的作业即将到期,严重依赖于此,所以任何帮助都会受到赞赏。
编辑:要清除,我如何让python在地址中找到地址中的第一个和第二个数字?
答案 0 :(得分:1)
import re
numbers = re.findall(r'\d+',x)
numbers[0][0:2]
您需要导入正则表达式。由于您不知道字符串中出现数字的顺序,因此它会更有用。之后,您需要找到字符串中的所有数字。 ' \ d +'将有助于获取字符串中的所有数字。然后你需要做的就是取第一个元素并从该字符串中取出前两个数字。
希望这有帮助。
答案 1 :(得分:1)
只需使用x.isdigit()
查找数字并将其插入列表中即可。然后使用math.pow
找到前两个的力量。
#!/usr/bin/python
import math
address = raw_input("Enter your address : ")
digits = []
for c in address:
if c.isdigit():
digits.append(c)
if len(digits) >= 2:
print "The first number to the power of the second number in your address is : "
print math.pow(float(digits[0]), float(digits[1]))
else:
print "Your address contains less than 2 numbers"
答案 2 :(得分:0)
由于字符串是Python中的迭代类型数据,您可以使用索引来访问字符串字符!像my_string[1]
这样可以给你第二个角色!然后使用isdigit()
函数,您可以检查它是否为数字!
演示:
>>> s='12erge'
>>> s[1]
'2'
>>> s[1].isdigit()
True
>>> s[4]
'g'
>>> s[4].isdigit()
False
并且对于字符串中的查找号码,您可以使用[regex][1]
和re.search()
函数:
>>> import re
>>> s='my addres is thiss : whith this number 11243783'
>>> m=re.search(r'\d+',s)
>>> print m.group(0)
11243783
此代码中的 r'\d+'
是一个正则表达式,匹配len大于0的所有数字,