Co jest nie tak z tym skryptem python:
RoomNumber = input("Enter the room number:")
text_file = open("roombookings.txt", "r")
for line in text_file:
(s["Date"], s["Room"], s["Course"], s["Stage"]) = line.split(";")
if RoomNumder == (s["Room"]):
print("Date: " + s["Date"])
print("Room: " + s["Room"])
print("Course: " + s["Course"])
print("Stage: " + s["Stage"])
text_file.close()
input("nnPress enter key to exit.")
Próbuję uzyskać datę, kurs i etap jako wynik przy wpisywaniu numeru pokoju, ale coś jest nie tak. Kiedy uruchamiam skrypt w
"(s [" Data "], s [" Pokój "], s [" Kurs "], s [" Etap "]) = line.split ("; ")"
Dostaję "błąd wartości: potrzebuję więcej niż 1 wartość do rozpakowania". Nie wiem, co to znaczy.
Odpowiedzi:
3 dla odpowiedzi № 1(s["Date"], s["Room"], s["Course"], s["Stage"]) = line.split(";")
Dostaję "błąd wartości: potrzebuję więcej niż 1 wartość do rozpakowania" Nie wiem co to znaczy.
Oznacza to, że próbuje znaleźć cztery wartości, aby przypisać do czterech klawiszy wymienionych po lewej stronie, ale tablica wyprodukowana przez line.split(";")
zawiera tylko jeden. Linia, o której mowa, nie może zawierać średnika; może być pusty.
1 dla odpowiedzi nr 2
The rozpakować powiązany błąd jest dość powszechny w pythonie i mówi, że niemożliwe było wykonanie wszystkich żądanych zadań, tj.
a, = 1, 2 # ValueError: "too many values to unpack"
a, b, c = 1, # ValueError: "need more than 1 value to unpack"
a, b, c = 1, 2 # ValueError: "need more than 2 values to unpack"
Jak powiedział Jeremy Banks, wygląda jak jeden z twoichlinie nie zawierają średnika (więc nie wykonano żadnych podziałów, a ty masz tylko jedną wartość po prawej stronie przypisania). Potrzebujesz sprawdzenia poprawności danych wejściowych.