EDIT: Après avoir joué un peu dans main(), il semble que le programme choisisse la fonction qui est appelée dans le bloc if/elif, quelle que soit l'entrée. Je ne sais pas pourquoi il a commencé à faire cela après avoir bien travailléLe programme n'appelle pas la fonction correcte en fonction de l'entrée. Aucune idée de ce qui me manque
Je suis allé encore et encore mon code, et je ne peux pas comprendre ce que je ne vois pas. C'est un jeu de séquence numérique, et il demande à l'utilisateur de choisir une difficulté entre facile et difficile. Il fonctionnait très bien à un moment donné, mais maintenant, peu importe ce qui est sélectionné, il passe en mode facile à chaque fois. Même vous frappez entrer sans aucune entrée du tout.
#main program function and difficulty selection
def main():
print('-----------------------------------------------')
print('Please choose a difficulty.')
difficulty = str(input('(e)asy|(h)ard: '))
print('-----------------------------------------------')
if difficulty == 'easy'or'e':
easy()
elif difficulty == 'hard'or'h':
hard()
Ensuite, j'ai une fonction pour facile et un pour dur. Hard est juste la fonction facile, avec seulement un changement à la taille de la séquence générée et rien d'autre. J'ai parcouru chaque bloc et rien n'est changé qui affecterait la fonction appelée.
Il arrive, peu importe combien de fois le jeu est joué, il doit être quelque chose de mal avec ma fonction principale()
Le reste du code est ici si cela aide, peut-être me manque quelque chose évident.
import random
def easy():
print ('Easy Mode','\n')
#Generates inital number, step value, and upper limit
num_sequence = 5
numbers = random.randint(1,101)
step = random.randint(1,20)
#Accumulates and prints all but last number in sequence
for num_generated in range (1, num_sequence):
print(numbers)
numbers = numbers + step
#Sets tries allowed and subtracts wrong attempts
guesses = 3
while guesses > 0:
user_num = int(input('Next Number: '))
guesses = guesses - 1
if user_num != numbers:
if guesses == 0:
break
else:
print('Try Again (Attempts Remaining:', guesses,')')
if user_num == numbers:
break
#Prints appropriate message based on game results
if user_num == numbers:
print ('Correct','\n')
if user_num != numbers:
print ('Attempts Exceeded: The answer was',numbers,'\n')
#block for hard difficulty (same as above, sequence size changed to 4)
def hard():
print ('Hard Mode','\n')
num_sequence = 4
#main program function and difficulty selection
def main():
print('-----------------------------------------------')
print('Please choose a difficulty.')
difficulty = str(input('(e)asy|(h)ard: '))
print('-----------------------------------------------')
if difficulty == 'easy'or'e':
easy()
elif difficulty == 'hard'or'h':
hard()
#block for replay selection
replay = 'y'
while replay == 'y':
main()
replay = input('Play again? (y)|(n): ',)
print ('\n')
if replay == 'n':
print('-----------------------------------------------')
print('Goodbye!')
print('-----------------------------------------------')
break
dur() est le même code que la ligne facile() pour la ligne après les quelques premiers
C'était tout. Merci beaucoup. C'est ce que j'ai pour essayer d'être chic. – Kalivel
Bien GET FANCY !! Parce que c'est comme ça qu'on apprend! Beau programme btw! – kir10s
Merci. Ça te dérange si je demande ce que j'ai fait de bien? Nous sommes seulement 6 semaines en classe, donc je suis encore assez nouveau à la programmation tous ensemble. – Kalivel