from random import randrange
def init_config(m, n):
print("""Crée une configuration pour la configuration initiale""")
config = [[0 for a in range(n)] for b in range(m)]
for k in range(m*n): a, b = k//n, k%n
config[a][b]=k+1
return config
def disp(config, m, n):
print("""Affiche un damier d'une configuration existante avec le format voulu""")
s=t=" +%s\n" % ("---+"*n)
for k in range(n):"%s %s" % (" "if k==0 else "",chr(65+k if k<26 else 71+k)),
for k in range(m*n): i, j=k/n, k%n
s +="%s%s|%03d%s"%(k/n+1 if k%n==0 else ""," "if k%n==0 and k/n<9 else "",config[a][b],"|\n" + t if b == n-1 else "")
return s
def set_treasure (config):
import random
a=random.randrange(0,lin)
b=random.randrange(0,col)
treasure=config[a][b]=0
def main():
print("Entrer les dimensions du damier")
lin=int(input('nombre de lignes : '))
if type (lin)!=int :
print(""" ***ERREUR !***\n le nombre de lignes doit etre un nombre entier""")
lin=int(input('number of lines : '))
elif lin>26:
print(""" ***ERREUR !***\n le nombre de lignes ne doit pas excéder 26 !""")
lin=int(input('nombre de ligne : '))
col=int(input('nombre de colonne: '))
if type (col)!=int :
print(""" ***ERREUR !***\n le nombre de colonnes doit etre un nombre entier""")
col=int(input('nombre de colonne: '))
elif col>38:
print(""" ***ERREUR !***\n le nombre de colonnes ne doit pas excéder 38 !""")
col=int(input('nombre de colonne: '))
n_treasure=int(input('Combien de trésor voulez vous mettre dans le jeux: '))
if type (n_treasure)!=int :
print(""" ***ERREUR !***\n le nombre de trésor doit etre un nombre entier""")
n_treasure=int(input('nombre de trésor que vous avez demander dans le jeux: '))
config=init_config(lin,col)
for k in range (n_treasure):
if set_treasure (config):
board=disp(config, lin, col)
print(board)
for a in range (lin):
for b in range (col):
if config[a][b]==0:
print("Il y a un trésor dans", chr(65+b),a+1)
大家好,我刚刚用python 3.2完成了这个迷你游戏,但问题是该程序不起作用我没有发现问题,我有TypeError: Win32RawInput() takes at most 2 positional arguments (4 given)
答案 0 :(得分:1)
由于您还没有提供任何有关该计划实际应该做什么的解释,而且我不会说法语,所以我认为这就是问题:在最后一行
input("Il y a un trésor dans", chr(65+b),a+1)
您尝试显示几种不同的类型作为输入问题。但从上下文来看,我认为你真正想做的就是打印这些类型。只需输入以下命令即可:
print("Il y a un trésor dans", chr(65+b),a+1)
对于倒数第五行也许同样如此。它应该是
print(board)
答案 1 :(得分:0)
if config[a][b]==0:
input("Il y a un trésor dans", chr(65+b),a+1)
所以在这里你将四个参数传递给内置函数input
,它最多只需要一个参数。
input(...)
input([prompt]) -> string
Read a string from standard input. The trailing newline is stripped.
If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError.
On Unix, GNU readline is used if enabled. The prompt string, if given,
is printed without a trailing newline before reading.