使用函数确定字符串是否仅为数字

2024-05-05 20:30:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要写一个函数,当用户输入一个字符串时,根据它是否都是数字来判断是真是假。到目前为止,这就是我所知道的,但我不确定到底出了什么问题

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')

Tags: 函数字符串用户falsetrueinputstringif
1条回答
网友
1楼 · 发布于 2024-05-05 20:30:15

只能在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条件

相关问题 更多 >