Toon posts:

[Python] unindent error

Pagina: 1
Acties:
  • 283 views

Onderwerpen

Vraag


  • l0tt3
  • Registratie: Mei 2020
  • Laatst online: 15-05-2020
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


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

alvast bedankt
Lotte

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


  • vikterr
  • Registratie: Februari 2017
  • Laatst online: 22-09 18:50
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 vikterr op 14-05-2020 20:58]

Alle reacties


Acties:
  • +2Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 27-09 22:53

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


  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 09:29
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.

Acties:
  • +1Henk 'm!

  • vikterr
  • Registratie: Februari 2017
  • Laatst online: 22-09 18:50
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

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 24-09 04:07
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.

@l0tt3 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]


  • l0tt3
  • Registratie: Mei 2020
  • Laatst online: 15-05-2020
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
hoe verder?

  • l0tt3
  • Registratie: Mei 2020
  • Laatst online: 15-05-2020
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.

  • vikterr
  • Registratie: Februari 2017
  • Laatst online: 22-09 18:50
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.

  • l0tt3
  • Registratie: Mei 2020
  • Laatst online: 15-05-2020
vikterr 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:
  • +1Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 00:17
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
  • +1Henk 'm!

  • vikterr
  • Registratie: Februari 2017
  • Laatst online: 22-09 18:50
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 vikterr op 14-05-2020 20:58]


  • l0tt3
  • Registratie: Mei 2020
  • Laatst online: 15-05-2020
vikterr 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! :))

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

Creepy

Moderator Devschuur®

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.



Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee