Python Forum
TypeError: string indices must be integers
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
TypeError: string indices must be integers
#10
This code:

quiz = (
    ("What is the capital of France?", "PARIS")
    ("What is the capital of Germany?", "BERLIN")
)
  
score = 0
for index, question in (quiz):
    q, a = question
    print(f"Question {index+1} : {q}")
    if input("Answer? ").upper() == a:
        score += 1
        print('Correct!')
    else:
        print(f"Incorrect :(\nThe correct answer is: {a}")
  
print(f"Your score is {score}")
...even with a correction to the syntax (a missing comma in the nested tuple), I can't see how it's going to work.

If I change the code to this:

quiz = (
    ("What is the capital of France?", "PARIS"),
    ("What is the capital of Germany?", "BERLIN")
)
  
score = 0
for index, question in enumerate(quiz):
    q, a = question
    print(f"Question {index+1} : {q}")
    if input("Answer? ").upper() == a:
        score += 1
        print('Correct!')
    else:
        print(f"Incorrect :(\nThe correct answer is: {a}")
  
print(f"Your score is {score}"))
... then yes, it works fine, and is a nice, simple way to do this.
Sig:
>>> import this

The UNIX philosophy: "Do one thing, and do it well."

"The danger of computers becoming like humans is not as great as the danger of humans becoming like computers." :~ Konrad Zuse

"Everything should be made as simple as possible, but not simpler." :~ Albert Einstein
Reply


Messages In This Thread
RE: TypeError: string indices must be integers - by rob101 - Aug-31-2022, 10:54 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  TypeError: string indices must be integers, not 'str' LEMA 2 253 Jun-12-2024, 09:32 PM
Last Post: LEMA
  tuple indices must be integers or slices, not str cybertooth 16 12,630 Nov-02-2023, 01:20 PM
Last Post: brewer32
  No matter what I do I get back "List indices must be integers or slices, not list" Radical 4 1,450 Sep-24-2023, 05:03 AM
Last Post: deanhystad
  boto3 - Error - TypeError: string indices must be integers kpatil 7 1,623 Jun-09-2023, 06:56 PM
Last Post: kpatil
  Response.json list indices must be integers or slices, not str [SOLVED] AlphaInc 4 6,894 Mar-24-2023, 08:34 AM
Last Post: fullytotal
  "TypeError: string indices must be integers, not 'str'" while not using any indices bul1t 2 2,312 Feb-11-2023, 07:03 PM
Last Post: deanhystad
  Error "list indices must be integers or slices, not str" dee 2 1,739 Dec-30-2022, 05:38 PM
Last Post: dee
  TypeError: float() argument must be a string or a number, not 'list' Anldra12 2 5,185 Jul-01-2022, 01:23 PM
Last Post: deanhystad
  TypeError: list indices must be integers or slices, not range Anldra12 2 2,871 Apr-22-2022, 10:56 AM
Last Post: Anldra12
  string indices must be integers when parsing Json ilknurg 3 6,892 Mar-10-2022, 11:02 AM
Last Post: DeaD_EyE

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020