Python3x整数和字符串输入

时间:2015-11-01 18:32:50

标签: python python-3.x

我希望用户输入一个数字 给出一个数字:他输入“ 10 ” - 但是...... 给出一个数字:他输入“我想输入10 ” 我希望程序只是“计算”整数。因为如果他键入一个字符串,程序将停止

WebBrowser

2 个答案:

答案 0 :(得分:1)

这将接受任何输入并从中拉出第一个数字。 \d匹配任何数字0-9,+表示"一个或多个"。

import re

while True:
    user = input('Enter a number: ')
    match = re.search(r'\d+',user)
    if match:
        value = int(match.group(0))
        break
    else:
        print("I didn't see a number in that response.")

print(value)

答案 1 :(得分:0)

好吧,你可以手动循环遍历字符串并使用isdigit()存储数字的位置。

以下方法要求数字是字符串中唯一的数字(允许多位数):

start = None
stop = None
for i in range(len(input)):
    c = input[i]
    if c.isdigit():
        if start == None:
            start = i
        stop = i
try:
    number = int(input[start:stop])
catch:
    print("invalid input")

编辑: 我想会有一些很好的和简单的Regex解决方案,但我会离开它,因为我对它不太有经验...