Возникла проблема с вызовом функции внутри функции в Python - PullRequest
0 голосов
/ 20 марта 2020

Я в настоящее время изучаю кодер-любитель Python. Я создал программу «Рок, бумага, ножницы», которую я сильно преувеличил, чтобы попрактиковаться в вызове функций в функциях / объектно-ориентированном программировании.
Проблема: я создал эту программу для связи различных функций. (Конец одной функции вызывает другую). Однако после запуска программы она читает первую функцию, но не позволяет пользователю продолжить работу со второй функцией и так далее. Может кто-нибудь проверить мой код, чтобы увидеть, в чем проблема?

from random import randint
def func(n,v):
    if (n==1): 
        print "You chose Rock"
    elif n==2:
        print "You chose Paper"
    elif n==3:
        print "You chose Scissors"
    comp_call(v)

def translate_num(n):
    if n==1:
        print "Rock"
    elif n==2:
        print "Paper"
    elif n==3:
        print "Scissors"

def comp_call(v):
    if v==1: 
        "Computer chose rock"
    elif v==2:
        "Computer chose paper"
    elif v==3:
        "Computer chose scissors"
    check(n,v)

def check(n,v):
    if n==v:
        print "You both chose " + translate_num(n) + " try again!"
        n = int(raw_input())
        v = randint(1,3)
        return func(n,v)
    elif n==1 & v==2:
        print "Paper covers rock. Computer win!"
    elif n==1 & v==3:
        print "Rock beats scissors. You win!"
    elif n==2 & v==1:
        print "Paper covers rock. You win!"
    elif n==2 & v==3:
        print"Scissor beats paper. Computer wins!"
    elif n==3 & v==1:
        print "Rock beats scissors. Computer wins!"
    elif n==3 & v==2:
        print "Scissors beats paper. You win!"

print "Please enter a number: 1 for rock, 2 for paper, 3 for scissors"
n = int(raw_input())
v = randint(1,3)
func(n,v)

Ответы [ 2 ]

0 голосов
/ 20 марта 2020

Вы не можете вызывать их без передачи аргументов

0 голосов
/ 20 марта 2020

Во второй функции comp_call у вас нет нигде "print".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...