Test/Python(20220101~)

Days14_숫자 업다운 게임 프로젝트 (리스트/딕셔너리 중첩 호출)

kiostory 2022. 1. 22. 20:48
# data 구조
data = [
    {
        'name': 'Instagram',
        'follower_count': 346,
        'description': 'Social media platform',
        'country': 'United States'
    },
    {
        'name': 'Cristiano Ronaldo',
        'follower_count': 215,
        'description': 'Footballer',
        'country': 'Portugal'
    },
    ...
# 중첩 데이터의 key를 호출했으면
        a=random.choice(data)
        b=random.choice(data)
# 각 values는 
        a["name"]
        a["follower_count"]
        a["description"]
#형태로 호출할 수 있고
        data[a]["name"]
#형태로도 호출할 수 있음
----------------------------------------------------------------------------
from art import logo, vs
from game_data import data
import random
import os
correct = False
user_score=0
a=0
def clean():
    if os.name in ('nt', 'dos'):  # If Machine is running on Windows, use cls
        os.system('cls')
    else:
        os.system('clear')
clean()
print(logo)  
def go_on(data, correct, a, user_score):
    if correct == False:
        a=random.choice(data)
        b=random.choice(data)
        if a == b :
            b=random.choice(data)
    else:
        b=random.choice(data)
        if a == b :
            b=random.choice(data)
    # print(f"a_count= {data[a]['follower_count']} , b_count= {data[b]['follower_count']}")      #just for check
    print(f"a_count= {a['follower_count']} , b_count= {b['follower_count']}") 
    # print(f"Compare A: {data[a]['name']}, a {data[a]['description']}, from {data[a]['country']}. ")
    print(f"Compare A: {a['name']}, a {a['description']}, from {a['country']}. ")
    print(vs)
    # print(f"Compare B: {data[b]['name']}, a {data[b]['description']}, from {data[b]['country']}. ")
    print(f"Compare B: {b['name']}, a {b['description']}, from {b['country']}. ")
    # if data[a]['follower_count'] >= data[b]['follower_count']:
    if a['follower_count'] >= b['follower_count']:
        correct_answer = "a"
    else :
        correct_answer = "b"
    print(f"correct answer = {correct_answer}")                                       #just for check
    user_answer = input("Who has more followers? Type 'A' or 'B': ").lower()
    a=b
    if correct_answer == user_answer:
        correct  = True
        user_score+=1
        clean()
        print(logo) 
        print(f"You're right: Current score: {user_score}")
        go_on(data, correct, a, user_score)
    else:
        clean()
        print(logo) 
        print(f"Sorry, that's wrong. Final score: {user_score}")
go_on(data, correct, a, user_score)