我目前是一名业余程序员,正在学习Python。我创建了一个Rock,Paper,Scissors程序,我夸大了它,以便练习在面向函数/面向对象的编程中调用函数。 问题:我创建了这个程序来将不同的功能链接在一起。 (一个函数的末尾调用另一个函数)。但是,运行该程序后,它会读取第一个功能,但不允许用户继续使用第二个功能,依此类推。任何人都可以校对我的代码以查看问题所在吗?
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)
答案 0 :(得分:0)
在第二个函数comp_call中,任何地方都没有“打印”。
答案 1 :(得分:0)
您不能在不传递参数的情况下调用它们