[英]How to separate words that have uppercase and lowercase in Python?
I need to separate words that have at least one uppercase letter with the lowercase. 我需要将至少有一个大写字母的单词与小写字母分开。 I need to take input and separate uppercase words and lowercase words and print them both. 我需要输入并将大写单词和小写单词分开,并同时打印它们。 Here is my code: 这是我的代码:
text = input("Input your text: ")
words0 = text.strip().split()
words1 = []
words2 = []
wordslen= len(words0)
for word in words0:
counter = 0
for x in word:
while counter != wordslen:
if x.isupper():
words1.append(word)
else:
words2.append(word)
counter += 1
wordsupper = list(set(words1))
wordslower = list(set(words2))
allwords = wordsupper + wordslower
for word in allwords:
print(word)
words = input("Input your text: ").strip().split()
lower, mixed = set(), set()
for word in words:
if word == word.lower():
lower.add(word)
else:
mixed.add(word)
print("Lowercase words: " + ", ".join(lower))
print("Mixed- and uppercase words: " + ", ".join(mixed))
which runs like: 运行方式如下:
Input your text: This is a Perl and Python party.
Lowercase words: a, and, is, party.
Mixed- and uppercase words: This, Python, Perl
this is similar to previous posts, but uses map()
instead of for word in words:
这与以前的帖子类似,但是使用map()
代替for word in words:
text = raw_input("Input your text: ")
words = text.strip().split()
upper = []
lower = []
def sort_word(word):
if word.lower() == word:
lower.append(word)
else:
upper.append(word)
map(sort_word, words)
To separate words that have only lowercase characters from the rest: 要将其余仅包含小写字母的单词与其他单词分开:
text = raw_input('Input text: ')
lower, rest = set(), set()
for word in text.split():
(lower if word == word.lower() else rest).add(word)
print(lower)
print(rest)
Maybe something like this: 也许是这样的:
text = input("Input your text: ")
words = text.strip().split()
wordslower = []
wordsupper = []
for word in words:
# if the word is the same as word.lower() that means all the
# characters are lower case. Also, don't add duplicates to
# the list.
if word == word.lower():
if word not in wordslower:
wordslower.append(word)
else: # The word has at least one capital letter
if word not in wordsupper:
wordsupper.append(word)
print(wordslower)
print(wordsupper)
Try this: 尝试这个:
def check(word):
for k in word:
if k != k.lower(): #If the letter is capitalized
return True
return False
text = input('Text: ')
text = text.strip().split()
wordsupper = []
wordslower = []
for k in text:
if check(k) == True:
wordsupper.append(k)
else:
wordslower.append(k)
print(wordslower)
print(wordsupper)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.