Как мне интегрировать эти два фрагмента кода, чтобы программа работала правильно
Вот два фрагмента кода, необходимых для создания одной программы. Это игра для решения кода.:
# Bringing random number for a randomly generated code import random code=[random.randint(1,9), random.randint(0,9), random.randint(0,9), random.randint(0,9)] print(code) guesses= 1 # Setting up variables while True: print("You have: " , 13 - guesses, " guesses left") guess = input("Have a guess! Type 'quit' to quit: ") # Taking a guess away for every incorrect answer, allowing an input # Checking the user input if guess == "quit": print('\n') print("You quit! The number I was thinking of was: ") print(code) print('\n') print("xX !YOU LOSE! Xx") break # Allowing an input exit of the game # Checking the user input... AGAIN elif len(guess) != 4: print("The code is 4 digits long! Go again.") print('\n') continue # Checking length of guess elif guess.isdigit()== False: print("Please type in a NUMBER guess!") print('\n') continue # Allowing the user to carry on
И вот подпрограмма, которую мне нужно включить:
from collections import Counter def main(): answers = [3, 3, 4, 4] guesses = [3, 5, 6, 4] answers_counter = Counter(answers) guesses_counter = Counter(guesses) diff_counter = answers_counter - guesses_counter number_of_all_correct_digits = len(answers) - len(diff_counter.values()) number_of_correct_digits_in_correct_place = len( list(filter(lambda x: x == 0, [a - g for a, g in zip(answers, guesses)]))) number_of_correct_digits_in_wrong_place = number_of_all_correct_digits - number_of_correct_digits_in_correct_place return number_of_correct_digits_in_correct_place, number_of_correct_digits_in_wrong_place ### r1= correct place ### r2 = correct digits in wrong place if __name__ == "__main__": r1, r2 = main() print(r1) print(r2)
Мне нужно уметь делать "ответы" на первые четыре цифры кода и "догадки" (будут изменены на догадки 2) на первые четыре цифры догадки. Затем мне нужно иметь возможность вызвать подпрограмму, чтобы получить r1 и r2 для вывода позже в программе.
Что я уже пробовал:
Переназначение переменных, создание новых операторов if и очевидное "главное()"
Richard MacCutchan
В чем же проблема? Просто сделайте одну из них подпрограммой и вызовите ее из другой.
Member 13672432
Как мне вызвать подпрограмму