2017-01-05 15 views
0

Dieser Code arbeitete mit 2.7 aber nicht mit 3.5 - Ich verstehe, dass dies etwas mit Unicode-kompatibel zu tun hat.TypeError: muss ein Unicode-Zeichen sein, nicht str

Dies ist der Code jede Hilfe sehr geschätzt

import array 
import sys 


ConstNoStudents = int(4) 
Counter = int(0) 
StudentMarkTest1 = array.array("Test 1", range(ConstNoStudents + 1)) 
StudentMarkTest2 = array.array("Test 2", range(ConstNoStudents + 1)) 
StudentName = [] 
StudentGender = [] 
input_value = raw_input 

while Counter <4: 
gender_value = int(0) 
input_value = raw_input 
Counter = Counter+1 
StudentName.append (raw_input("Please Enter Student Name ")) 
print(StudentName) 
while gender_value == 0: 
    gender = raw_input("Please Enter Student Gender ") 
    if gender == 'm' or gender == 'f' or gender =='M' or gender == 'F': 
     StudentGender.append(gender) 
     gender_value = gender_value+1 

    StudentMarkTest1[Counter] = int(raw_input("Please Enter Mark for Test 1 ")) 
    StudentMarkTest2[Counter] = int(raw_input("Please Enter Mark for Test 2 ")) 

print (StudentName) 
print (StudentGender) 
print (StudentMarkTest1) 
print (StudentMarkTest2) 
+1

Was ist der eigentliche Traceback? –

+0

Zunächst einmal gibt es in Python 3 keine "raw_input". Darüber hinaus müssen Sie eine Eingabe bereitstellen, die den Fehler und den tatsächlichen Inhalt des Fehlers erzeugt. – glibdud

Antwort

0
import array 
import sys 


ConstNoStudents = int(4) 
Counter = int(0) 
StudentMarkTest1 = array.array("d", range(ConstNoStudents + 1)) 
StudentMarkTest2 = array.array("d", range(ConstNoStudents + 1)) 
StudentName = [] 
StudentGender = [] 

while Counter <4: 
    gender_value = int(0) 
    Counter = Counter+1 
    StudentName.append(input("Please Enter Student Name ")) 
    print(StudentName) 
    while gender_value == 0: 
    gender = input("Please Enter Student Gender ") 
    if gender == 'm' or gender == 'f' or gender =='M' or gender == 'F': 
     StudentGender.append(gender) 
     gender_value = gender_value+1 

    StudentMarkTest1[Counter] = int(input("Please Enter Mark for Test 1 ")) 
    StudentMarkTest2[Counter] = int(input("Please Enter Mark for Test 2 ")) 

print (StudentName) 
print (StudentGender) 
print (StudentMarkTest1) 
print (StudentMarkTest2) 

Dies ist die Python3 Version des Codes würde, raw_input sind jetzt Eingang.

Auch der erste Parameter von array.array muss ein Zeichen sein, das den Datentyp definiert.

+0

danke ein bisschen ein Schuljungenfehler. Danke vielmals! – Amer

Verwandte Themen