所以我用Python创建了这个非常简单的paber石头剪刀游戏(对不起,字符串不是英文的)。你知道吗
不管怎样,我在空闲状态下运行它,当我这样插入它时,它就工作了:
这样它就按预期运行了。你知道吗
但是当我把它们放在一起,然后按回车键,它什么也不做,当我再次调用我的函数时,它说它没有定义。 另外,当我将它保存为.py并运行它时,它只会弹出0.5秒。你知道吗
我的代码是:
from random import randint
def myProgram():
kpk = raw_input("Kivi, paber või kaarid?")
random = randint(0,2)
result = ""
if kpk == "kivi":
kpk = 0
if random == 0:
result = "VIIK"
elif random == 1:
result = "Kivi < Paber --- KAOTASID"
else:
result = "kivi > kaarid --- VOITSID"
elif kpk == "paber":
kpk = 1
if random == 0:
result = "kivi < paber --- VOITSID"
elif random == 1:
result = "VIIK"
else:
result = "paber < kaarid --- KAOTASID"
elif kpk == "käärid":
kpk = 2
if random == 0:
result = "kivi > kaarid --- KAOTASID"
elif random == 1:
result = "paber > kaarid --- VOITSID"
else:
result = "VIIK"
else:
print "Sisend peab olema uks kolmest: Kivi, paber või kaarid"
myProgram()
print result
kas = raw_input("Kas soovite uuesti mangida? (Y/N)")
if kas == "Y" or kas == "y" or kas == "jah":
myProgram()
else:
print "Mang on läbi!"
myProgram()
我猜这是你问题的最低版本-
在pythonshell/IDLE中,您需要在一个块结束后输入一个换行符(空行),这样python就可以解释这个块(这对任何块都有效,比如函数定义、循环、
with
块等)。你知道吗在上面,当我复制和粘贴代码时-
如果没有空格,就会出现语法错误,因为函数定义后没有换行符。一种方法(正如您已经观察到的)是分别复制粘贴函数和函数调用(并确保通过按enter键/在末尾添加新行来定义函数)。(我不确定这是否是pythonshell中的某种bug,但python2.x和python3.x都是这样)。你知道吗
请注意,只有将代码复制粘贴到shell时,才需要这样做,而不是将脚本保存为.py文件并运行它时,如果将代码作为脚本运行时,则不需要换行符(不过最好将它们放在可读性方面)。你知道吗
看来我的密码没问题。在空闲状态下,它运行得非常好,我运行->;运行模块
不过,RUN->;pythonshell什么也不做。你知道吗
另外,我应该用哪个程序来运行我的程序。现在,当我把它保存为测试.py运行它,一个黑色窗口弹出0.5秒,就这样。默认设置为“Python”
相关问题 更多 >
编程相关推荐