/解决本题算法思想:
用a=1表示新郎a和x结婚,同理如果新郎a不与x结婚,则写成a!=1,因此依题意有
a!=1 a不与x结婚
c!=1 c不与x结婚
c!=3 c不与z结婚
另外还有三个隐含条件:3个新郎不能互为配偶,所以有如下三条件:
a!=b
b!=c
a!=b
此题用穷举,同时满足以上六个条件即可/
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
A=1
B=1
C=1
X='X'
for A in range(1,4):
for B in range(1,4):
for C in range(1,4):
if A!=1 and C!=1 and C!=3 and A!=B and A!=C and B!=C:
print(chr(ord(X)+A-1)," 将会和A结婚\n")
print(chr(ord(X)+B-1)," 将会和B结婚\n")
print(chr(ord(X)+C-1)," 将会和C结婚\n")
break
输出结果如下:
其中的函数以及方法:
chr(ord(X)+A-1)代表的是Z即:X加上A的值再减去A本身的值1
range(1,4)取1至3之间的数
if…and …and… 并列条件判断
ord(x) 获取字符x的ascii码值
chr(x) x对应的字符