使用函数确定字符串是否只是数字

时间:2014-11-04 23:04:05

标签: python string function

我需要编写一个函数,当用户输入一个字符串时,它会给出true或false,具体取决于它是否都是数字。这是我到目前为止所做的,但我不确定是什么问题

def string():
    st=input('Enter string: ')
    if st.isdigit():
        stc='True'
    else:
        stc='False'


        return stc


n = int(input("Number of runs: "))
for i in range(n):
    print()
    stc=string()
    if stc=='True':
        print('True')
    else:
        print('False')

1 个答案:

答案 0 :(得分:0)

只能在else

中返回stc

正确的是:

def string():
    st=input('Enter string: ')
    if st.isdigit():
        stc='True'
    else:
        stc='False'
    return stc

但不是使用表示布尔值的字符串,为什么不直接使用TrueFalse

def string():
    st=input('Enter string: ')
    if st.isdigit():
        stc=True
    else:
        stc=False
    return stc

那么你也可以改变if条件,一切都会好一点:

...
stc=string()
if stc:
    print('True')
else:
    print('False')

<强>更新

如评论中所述,您也可以完全跳过if条件,只返回st.isdigit(),如下所示:

def string():
    st=input('Enter string: ')
    return st.isdigit()

请记住,现在你得到一个布尔值(True/False)作为回报,所以你需要调整if条件