[Python] unindent error

Pagina: 1
Acties:
  • 380 views

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn vraag
Weet iemand hoe ik dit probleem kan verhelpen?

Relevante software en hardware die ik gebruik
Ik gebruik VSCode

het gaat om dit stukje code
Afbeeldingslocatie: https://tweakers.net/i/GlIaQYGMV7_l75RKxe8kTs50w6k=/800x/filters:strip_icc():strip_exif()/f/image/fJLNQ1CblOhT26N5SDIMgZgb.jpg?f=fotoalbum_large

bij de laatste : is er een error "unindent does not match any outer indentation level"

alvast bedankt
Lotte

Beste antwoord (via Verwijderd op 14-05-2020 21:01)


Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
player = {'name': 'Manuel', 'attack': 10, 'Heal': 16, 'health': 100}
monster = {'name': 'Max', 'attack': 12, 'health': 100}
game_running = True

while game_running == True:

  print('Please select action')
  print('1) Attack')
  print('2) Heal')

  player_choice = input()

  if player_choice == '1':
    monster['health'] = monster ['health'] - player['attack']
    player['health'] = player['health'] - monster['attack']
    print(monster['health'])
    print(player['health'])


  elif player_choice == '2':
    print('Heal player')
  
  else:
    print('Invalid Input')

  if player['health'] <= 0:
    game_running = False


Je moet consistent zijn in je spatiegebruik

[ Voor 3% gewijzigd door Verwijderd op 14-05-2020 20:58 ]

Alle reacties


Acties:
  • +2 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Spatie wegdoen voor de
code:
1
if
.

Denk eraan bij Python indentation super belangrijk is.

Installeer deze plugin: https://github.com/Microsoft/vscode-python

Dat helpt bij het weergeven van errors.

Je kan ook whitespaces aanzetten zodat je kan tellen:
https://stackoverflow.com...ers-in-visual-studio-code

[ Voor 82% gewijzigd door Snake op 14-05-2020 20:23 ]

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 17:30
Python luistert heel erg nauw naar tabs.
Andere talen gebruiken blokken code met { }, python doet dat met tabs.

Open het even in Notepad++ en zet Show Whitespace and Tab even aan.
Afbeeldingslocatie: https://i.imgur.com/cK6Zt98.png

Acties:
  • +1 Henk 'm!

Verwijderd

Off-topic, misschien is een switch meer op zijn plaats hier, ipv losse if statements, leer je meteen iets nieuws!

https://jaxenter.com/impl...tement-python-138315.html

Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
jeroen3 schreef op donderdag 14 mei 2020 @ 20:22:
Python luistert heel erg nauw naar tabs.
Andere talen gebruiken blokken code met { }, python doet dat met tabs.

Open het even in Notepad++ en zet Show Whitespace and Tab even aan.
[Afbeelding]
Spaces bedoel je. https://www.python.org/dev/peps/pep-0008/

En Notepad++ werkt niet als je niet op Windows werkt, lijkt me niet de beste suggestie.

@Verwijderd in VSCode even de python language plugin aanzetten zodat je in je editor te zien krijgt wat de fouten zijn. https://code.visualstudio.com/docs/python/python-tutorial

[ Voor 4% gewijzigd door johnkeates op 14-05-2020 20:25 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jeroen3 schreef op donderdag 14 mei 2020 @ 20:22:
Python luistert heel erg nauw naar tabs.
Andere talen gebruiken blokken code met { }, python doet dat met tabs.

Open het even in Notepad++ en zet Show Whitespace and Tab even aan.
[Afbeelding]
heb het in notepad gezet Afbeeldingslocatie: https://tweakers.net/i/LKqAZtfql15gXG_KPYksZkQ75BU=/800x/filters:strip_exif()/f/image/74QNXt26zimD1CN3I9ceNscD.png?f=fotoalbum_large
hoe verder?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Snake schreef op donderdag 14 mei 2020 @ 20:21:
Spatie wegdoen voor de
code:
1
if
.

Denk eraan bij Python indentation super belangrijk is.

Installeer deze plugin: https://github.com/Microsoft/vscode-python

Dat helpt bij het weergeven van errors.

Je kan ook whitespaces aanzetten zodat je kan tellen:
https://stackoverflow.com...ers-in-visual-studio-code
heb geprobeerd de spatie weg te doen maar helaas werkt dit niet.

Acties:
  • 0 Henk 'm!

Verwijderd

In Python is het aantal tabjes of spaties wat je gebruikt belangrijk voor het correct uitvoeren van de code. Als je de code zelf even hier in de chat plaatst dan verbeter ik het voor je.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op donderdag 14 mei 2020 @ 20:49:
In Python is het aantal tabjes of spaties wat je gebruikt belangrijk voor het correct uitvoeren van de code. Als je de code zelf even hier in de chat plaatst dan verbeter ik het voor je.
hier is de code alvast bedankt :)

player = {'name': 'Manuel', 'attack': 10, 'Heal': 16, 'health': 100}
monster = {'name': 'Max', 'attack': 12, 'health': 100}
game_running = True

while game_running == True:

print('Please select action')
print('1) Attack')
print('2) Heal')

player_choice = input()

if player_choice == '1':
monster['health'] = monster ['health'] - player['attack']
player['health'] = player['health'] - monster['attack']
print(monster['health'])
print(player['health'])


elif player_choice == '2':
print('Heal player')
else:
print('Invalid Input')

if player['health'] <= 0:
game_running = False

Acties:
  • +1 Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 13-09 23:31
johnkeates schreef op donderdag 14 mei 2020 @ 20:24:
[...]

En Notepad++ werkt niet als je niet op Windows werkt, lijkt me niet de beste suggestie.
TS gebruikt Windows :S

...desalniettemin kun je in VSCode ook whitespace weergeven.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
player = {'name': 'Manuel', 'attack': 10, 'Heal': 16, 'health': 100}
monster = {'name': 'Max', 'attack': 12, 'health': 100}
game_running = True

while game_running == True:

  print('Please select action')
  print('1) Attack')
  print('2) Heal')

  player_choice = input()

  if player_choice == '1':
    monster['health'] = monster ['health'] - player['attack']
    player['health'] = player['health'] - monster['attack']
    print(monster['health'])
    print(player['health'])


  elif player_choice == '2':
    print('Heal player')
  
  else:
    print('Invalid Input')

  if player['health'] <= 0:
    game_running = False


Je moet consistent zijn in je spatiegebruik

[ Voor 3% gewijzigd door Verwijderd op 14-05-2020 20:58 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op donderdag 14 mei 2020 @ 20:57:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
player = {'name': 'Manuel', 'attack': 10, 'Heal': 16, 'health': 100}
monster = {'name': 'Max', 'attack': 12, 'health': 100}
game_running = True

while game_running == True:

  print('Please select action')
  print('1) Attack')
  print('2) Heal')

  player_choice = input()

  if player_choice == '1':
    monster['health'] = monster ['health'] - player['attack']
    player['health'] = player['health'] - monster['attack']
    print(monster['health'])
    print(player['health'])


  elif player_choice == '2':
    print('Heal player')
  
  else:
    print('Invalid Input')

  if player['health'] <= 0:
    game_running = False


Je moet consistent zijn in je spatiegebruik
Heel erg bedankt hij doet het! :))

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:58

Creepy

Tactical Espionage Splatterer

Fijn dat het werkt. Ik ga echter wel je topic sluiten. Je komt niet verder "dit is mijn code, please fix het" en dat is nu net niet de bedoeling. Je lijkt nog geen moeite te hebben ondernomen om zelf tot een oplossing te komen, maar dat is wel iets wat we hier van je verwachten. Als je een nieuw topic start staat er namelijk ook nog "Wat ik al gevonden of geprobeerd heb" maar dat je voor het gemak maar weggehaald. Wil je dat voor een volgende keer wel invullen?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.