파이썬 학습 튜플

Python의 튜플은 괄호()로 표시되는 불변 시퀀스입니다. 첨자를 통해 요소에 액세스하면 모든 유형의 객체를 저장할 수 있습니다. 이 기사에서는 Python 튜플의 생성, 작동 및 적용을 소개합니다.

튜플 생성

튜플은 괄호나 tuple() 함수를 사용하여 생성할 수 있습니다. 예를 들어:

t1 = (1, 2, 3)
t2 = tuple([4, 5, 6])

또는 괄호 없이 쉼표로 구분된 값 목록:

t3 = 7, 8, 9

튜플 요소에 액세스

튜플의 요소는 0부터 시작하는 첨자를 통해 액세스할 수 있습니다.

t1[0]   # 返回1
t2[-1]  # 返回6

튜플 수정

튜플은 불변이므로 튜플의 요소를 직접 수정할 수 없습니다. 그러나 튜플의 요소가 변경 가능한 경우 해당 요소를 수정할 수 있습니다.

t4 = ([1, 2], 3)
t4[0][0] = 4

애플리케이션 시나리오

튜플은 다음 시나리오에서 유용합니다.

  • 함수가 여러 값을 반환하면 자동으로 튜플로 압축됩니다.
  • 사전 키로 사용할 수 있지만 목록은 변경 가능하므로 목록은 사용할 수 없습니다.
  • 집합의 요소가 되면 집합의 요소가 불변하게 됩니다.
  • 과제를 풀 때 사용할 수 있습니다.

다음은 튜플을 기반으로 한 작은 프로젝트입니다.

숫자 게임을 맞춰보세요. 게임의 규칙은 다음과 같습니다.

  1. 컴퓨터는 각 숫자가 고유한 3자리 숫자를 무작위로 생성합니다.
  2. 플레이어는 3자리 숫자를 입력하고 컴퓨터에서 생성된 숫자와 비교됩니다.
  3. 숫자와 위치를 올바르게 추측하면 3점을 얻고, 숫자를 추측했지만 위치가 틀리면 1점을 얻고, 그렇지 않으면 0점을 얻습니다.
  4. 게임은 10라운드 동안 진행되며 최종적으로 플레이어 점수가 집계됩니다.

다음은 코드 구현입니다.

import random

def generate_number():
    """
    生成一个随机的 3 位数字,每一位都不重复。
    """
    digits = list(range(0, 10))
    random.shuffle(digits)
    return tuple(digits[:3])

def play_game():
    """
    猜数字游戏主程序。
    """
    print("欢迎来到猜数字游戏!")
    score = 0
    for i in range(1, 11):
        print(f"第{i}轮游戏开始!")
        computer_number = generate_number()
        player_number = input("请输入一个 3 位数字(每个数字之间用空格隔开):")
        player_digits = tuple(map(int, player_number.split()))
        if player_digits == computer_number:
            score += 3
            print("恭喜你,完全猜对了数字和位置!")
        else:
            common_digits = set(player_digits).intersection(set(computer_number))
            common_count = len(common_digits)
            if common_count == 0:
                print("很遗憾,你没有猜对任何数字。")
            elif common_count == 3:
                score += 1
                print("恭喜你,猜对了所有数字,但位置不正确!")
            else:
                print(f"你猜对了 {common_count} 个数字,但位置不正确。")
        print(f"第{i}轮游戏结束,你的得分是{score}分。")
    print("游戏结束,谢谢参与!")

play_game()

위 코드에서는 먼저 generate_number임의의 3자리 숫자를 생성하고 각 숫자가 고유한지 확인하는 함수를 정의합니다. play_game그런 다음 숫자 추측 게임의 주요 논리를 구현하는 함수를 정의했습니다 . 게임의 각 라운드에서 우리는 input이 함수를 사용하여 플레이어가 입력한 숫자를 가져와서 이를 튜플 형식으로 변환합니다. 그런 다음 플레이어가 입력한 숫자와 컴퓨터에서 생성된 숫자를 비교하고 규칙에 따라 해당 점수와 팁을 제공합니다. 마지막으로 플레이어 점수를 집계하고 결과를 출력합니다.

위는 Python 튜플을 사용하여 구현된 간단한 숫자 추측 게임입니다. 이 작은 프로젝트는 튜플을 사용하여 여러 값을 저장하고 비교하는 방법을 더 잘 이해하고 튜플의 불변 특성을 활용하여 게임 논리를 구현하는 데 도움이 될 수 있습니다. 게임 규칙을 추가하거나 난이도를 높이는 등 필요에 따라 수정하고 확장할 수 있습니다.

요약하다

튜플은 모든 유형의 객체를 저장할 수 있는 Python의 불변 시퀀스입니다. 튜플은 괄호나 tuple() 함수를 사용하여 생성되며 요소는 첨자를 통해 액세스할 수 있습니다. 튜플은 불변이므로 튜플의 요소를 직접 수정할 수 없습니다. 튜플은 함수가 사전 키, 컬렉션 요소, 압축 풀기 할당 등으로 여러 값을 반환하는 시나리오에서 매우 유용합니다.

추천

출처blog.csdn.net/m0_55813592/article/details/130430193