无法确定如何在字符串报告中循环使用isalpha()和isspace()

时间:2015-04-02 18:05:37

标签: python

我差不多完成了我的代码,但我无法弄清楚两件事。

首先,我希望能够说“你没有输入任何东西!”如果一个人在程序开头的字符串输入中输入零个字符,则结束该程序。

另外,在中间我无法弄清楚如何一起使用isalpha()isstring()。例如,如果字符串显示“狗和猫”,程序应输出“只有字母和空格:是的。” 但是,如果字符串只有空格或只有字母,那么应该说“只有字母和空格:否。”

string = input('Enter a string: ')

length = len(string)
first_character = string[:1]
last_character = string[-1:]

print ('Length: ', length)
print ('First character: ', first_character)
print ('Last character: ', last_character)

if all(c.isalpha() or c.isspace() for c in string):
    print('Only alphabetic letters and spaces: yes')
else:
    print('Only alphabetic letters and spaces: no')

if string.isdigit():
    print('Only numeric digits: yes')
else:
    print('Only numeric digits: no')

if string.islower():
    print('All lower case: yes')
else:
    print('All lower case: no')

if string.isupper():
    print('All upper case: yes')
else:
    print('All upper case: no')

3 个答案:

答案 0 :(得分:3)

利用空字符串评估为False的事实:

string = input('Enter a string: ')
if not string:
    print("Nothing entered.")
    exit()

使用内置函数all来帮助您完成下一部分:

if not string.isalpha() and not string.isspace() and all(i.isalpha() or i.isspace() for i in string):
    print("Passed!")

答案 1 :(得分:1)

好吧,在您使用length = len(string)获取输入字符串的长度后,立即执行完整性检查。

if length == 0:
    # do something

答案 2 :(得分:1)

您可以使用以下方法检查字符串是否为空

if (word1 == ''):
    print('Empty')

或者,如果字符串中包含空格,则可以使用.strip()

清除这些空格。
word2 = ' '
word2a = word2.strip()
if (word2a == ''):
    print('Empty2')