But surprised by the backlash here, but I was thinking 21 century Germany.
And in the last 20 years germany did not manage to do anything when it comes to digitalization. Hell, our schools still use overhead projectors.
Not sure how to help you with this, since that will change with what you want to archive in the loop. But maybe writing it in pseudo code might help:
For each letter in the word
for letter, position in enumerate(word):
You want to check if your guess is the letter
if letter == guess:
If it is you want to add the letter to your display , exactly on the position it is in the original word
display[position] = letter
Does that kind of thinking help?
I think the other guys have already explained it quite well, but here are some more goodies that might interest you.
Your first attempt of filling the display is the more pythonic way in my opinion and it works, so instead of initializing an empty array and the filling it, just use display = ["_"]*word_length
Also for evaluating if the guess is in the word, there is a very nice iterator called enumerate, that hands you two values, the index and the actual value of the item, so you can use it like this:
for position, letter in enumerate(chosen_word):
if letter == guess:
display[position] = letter
Also, to play the full game you want to surround your guessing part with a while loop, so you can keep guessing until you have found the word. For this you will have to create a list of characters that resemble your chosen_word
. There are several ways to do so and I will try to explain some of them.
Here we are using the unpacking asterisk, that unpacks each character of your string into an item in the list
while (display != [*chosen_word]):
guess = input("Guess a letter: ").lower()
for position, letter in enumerate(chosen_word):
if letter == guess:
display[position] = letter
print(display)
Another way would be explicitly casting the string into a list with the list function like this:
while (display != list(chosen_word)):
Last but not least we could use something like list comprehension, which is seen as very pythonic but a bit weird to look at when you are not used to it.
while (display != [letter for letter in chosen_word]):
What this essentially does is the same as creating a for loop and filling a list like this, but more comprehensive:
chosen_word_list = []
for letter in chosen_word:
chosen_word_list.append(letter)
W3Schools has some nice info about list comprehension. It is a rather advanced concept though so don't let it bother you if you don't get it right away.
Happy coding :)
Disagree on this one, even though I can see where you are coming from. I first learnt programming in Java, and it gave me massive problems to understand the structure and typings. Obviously Java isn't the most beautiful language anyways, but once I picked up python it started to click for me on how to solve problems, because I didn't have to think about that many things. I could just go for it. Yes, my code was messy in the beginning, but I wasn't working on any important projects. It was just for fun.
So I think learning how to solve problems is as important as writing clean code. And python really helped me with that.
I am nowhere near playing on tournaments so take my advice with a grain of salt.
Pick a main character (for now), does not matter if it is the best in the game but it should be at least B+ in the Tier list . It's more important that you feel comfortable with the character and have fun playing it than if its S Tier. Then go on YouTube and find out the basic and advanced combos for this character and practice them in practice mode until you can execute the almost without thinking
Disclaimer, some characters do not really have a combo game while others just go bonkers in combos. For example Lucina is a good character without a crazy combo game. If you have a character like this the next step is even more important.
Learn the spacing of you character, how to approach and how to keep control of center stage. Those are usually rather vague concept, but if you go into matches just thinking about one of them you will progress there.
Lastly, watching more YouTube. Thereby you learn a lot of match ups, characters and their usual habits without playing yourself on hours in crappy wifi. I can recommend poppt1 as one of my favorite, who also has a series where he picks up different characters to learn them for tournaments.
Good luck, have fun
Let's add some more
Utilities: https://ninite.com/ - Install and Update All Your Programs at Once
https://www.notion.so - productivity and note-taking web application
https://www.voidtools.com/ - Everything, a Windows search function that actually works
Network https://kubernetes.io/- Kubernetes (if we have Openshift on the list, we should also post the real OG)
https://k8slens.dev/ - Kubernetes IDE
This year really was horrible up until mid June I would say. So much that even the farmers can see it in their first harvesting season, it's way worse than the last year's because most of the fields were under water. Sorry you got the wrong end of it. But even if the forecast ist supposed to be good it can all change really quickly up here. Still amazing to visit :)