我需要编写一个函数,当用户输入一个字符串时,它会给出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')
答案 0 :(得分:0)
只能在else
正确的是:
def string():
st=input('Enter string: ')
if st.isdigit():
stc='True'
else:
stc='False'
return stc
但不是使用表示布尔值的字符串,为什么不直接使用True
和False
?
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条件