字符王国决定举办一个舞会,在这个王国里面有两类字符,分别是字母和数字。所有的男性全部是字母类型,所有的女性全部是数字类型。参加舞会需要一名男性和一名女性组成舞伴。 现在给你一个混合了字母和数字的字符串s(其中,英文字母均为小写)。请你为他们划分好各自的舞伴。也就是说,相邻的两个字符类型不能相同。既字母后面必须跟着数字,数字后面必须跟着字母。 现在请你编写程序,帮字符王国安排好每个人的舞伴,如果没有办法安排,请返回False,否则,返回True。 输入输出格式 输入格式 一行字符串 输出格式 True或False
时间: 2023-04-11 11:01:38 浏览: 151
我理解了你的问题。以下是我的回答:
对于这个问题,我们可以使用一个简单的循环来遍历字符串s。在循环中,我们可以使用一个变量来记录当前字符的类型(字母或数字),并检查它是否与前一个字符的类型相同。如果相同,则返回False。如果不同,则更新当前字符的类型,并继续循环。如果循环结束后,最后一个字符的类型与前一个字符的类型相同,则返回False,否则返回True。
下面是一个示例代码:
def arrange_dance_partner(s):
if len(s) % 2 != 0:
return False
prev_type = None
for c in s:
if c.isalpha():
curr_type = 'letter'
elif c.isdigit():
curr_type = 'digit'
else:
return False
if prev_type == curr_type:
return False
prev_type = curr_type
if prev_type == 'letter':
return False
return True
输入样例:
a1b2c3d4
输出样例:
True
希望这个回答对你有所帮助。
阅读全文