我正在尝试创建一个简单的程序,将Collatz猜想的语句应用于用户可以输入的整数,我有:
def collatz(n):
print n,
if n % 2 ==0:
n = n / 2
elif n == 0:
Print "Collatz Conjecture true for" , 'n'
else:
n = n *3 + 1
input("\n\nInsert a positive integer:")
def collatz(n)
然而,它表示行中存在语法错误:
Print "Collatz Conjecture true for" , 'n'
我看不出这行中的错误。
另外,由于我还没能测试它,看起来好像它可以正常工作吗?
答案 0 :(得分:3)
Python区分大小写。使用“打印”而非“打印”。
答案 1 :(得分:3)
嗯,你的语法错误是python区分大小写,所以你需要print
而不是Print
。
但是你有更多问题:
'n'
打印字符串n
。我想你想要的是n
来打印变量的值(如果没有,那么你可以只创建一个字符串“......对于n来说是真的”)。
最后(我认为),为了运行函数collatz
,您不需要def
;这只是为了定义。
答案 2 :(得分:2)
更多问题:
n == 1
,而不是n == 0
。 答案 3 :(得分:0)
def collatz_steps(n):
steps=0
if n==1:
return 0
else:
while n!=1:
if n%2==0:
n=n/2
steps+=1
else:
n = 3*n+1
steps+=1
return steps