国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Python > 正文

Python邏輯推理:三對(duì)情侶到底誰和誰結(jié)婚

2023-04-26 12:04:39
字體:
供稿:網(wǎng)友

一、題目描述

有3對(duì)情侶結(jié)婚,假設(shè)3個(gè)新郎為A、B、C,3個(gè)新娘為X、Y、Z。有參加婚禮的人搞不清誰和誰結(jié)婚,所以去詢問了這6位新人中的3位,得到的回答如下:新郎A說他要和新娘X結(jié)婚;新娘X說她的未婚夫是新郎C;而新郎C說他要和新娘Z結(jié)婚。聽到這樣的回答后,提問者以為他們都是在開玩笑,說的都是假話,并且他仍搞不清誰和誰結(jié)婚?,F(xiàn)在請(qǐng)?jiān)囍肞ython語言編程,推導(dǎo)出到底哪位新郎和哪位新娘結(jié)婚?#潘石屹用Python解決100個(gè)問題#

二、問題分析

這里需要把題目中的信息轉(zhuǎn)換為程序設(shè)計(jì)中的問題。

我們把三位新娘(X,Y,Z)分別用1、2、3來表示,三位新郎仍用A、B和C來表示。

則,如果新郎A和新娘X結(jié)婚就可以表示為:A ==1,否則就表示為:A != 1;其它與之相同。

則由題目可知,三人開玩笑說了假話,可以寫出如下的表達(dá)式:

A != 1  即新郎A不和新娘X結(jié)婚;C != 3  即新郎C不和新娘Z結(jié)婚;C != 1  即新郎C不和新娘X結(jié)婚;

同時(shí),考慮到新郎之間不能結(jié)婚,則還有以下約束條件:

A != BA != CB != C

在這些條件約束下,新郎(A、B、C)和新娘(1、2、3)之間的組合還有哪些可能呢?

我們可以使用窮舉法來列出可能的情況。

三、Python中的實(shí)現(xiàn)

編寫Python程序如下:

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(A, B, C)

運(yùn)行結(jié)果如下:

3 1 2

也就是說:

新郎A和編號(hào)為3的新娘Z結(jié)婚;

新郎B和編號(hào)為1的信箱X結(jié)婚;

新郎C和編號(hào)為2的新娘Y結(jié)婚。

為了更直觀一點(diǎn),對(duì)上面的程序改造一下,能輸出 新郎誰和新娘誰結(jié)婚 。

brides = ('X', 'Y', 'Z'# 用元組存儲(chǔ)三位新娘
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(A, B, C)
                print(f"新郎A要和新娘{brides[A - 1]}結(jié)婚")
                print(f"新郎B要和新娘{brides[B - 1]}結(jié)婚")
                print(f"新郎C要和新娘{brides[C - 1]}結(jié)婚")

輸出結(jié)果如下

新郎A要和新娘Z結(jié)婚
新郎B要和新娘X結(jié)婚
新郎C要和新娘Y結(jié)婚

Python邏輯推理題,三位新人誰與誰結(jié)婚

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲靖市| 南雄市| 新兴县| 寿阳县| 福建省| 宁国市| 清水河县| 介休市| 离岛区| 阜宁县| 萝北县| 永寿县| 临潭县| 新竹县| 永仁县| 乳山市| 鄂托克旗| 泸水县| 大港区| 麻阳| 广汉市| 五峰| 乌什县| 即墨市| 临沧市| 嘉兴市| 道孚县| 新营市| 长海县| 寿宁县| 溧阳市| 卢氏县| 武城县| 南安市| 米泉市| 连城县| 尼木县| 合阳县| 太白县| 亚东县| 类乌齐县|