2017-01-05 105 views
0

此代码适用于2.7,但不适用于3.5 - 我知道这与Unicode兼容有关。TypeError:必须是unicode字符,而不是str

这是代码的任何帮助,将不胜感激

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

什么是实际的追溯? –

+0

对于初学者来说,在Python 3中没有'raw_input'这样的东西。除此之外,您需要提供产生错误和实际错误内容的输入。 – glibdud

回答

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) 

这是你的代码的Python3版本,现在是的raw_input输入。

另外,array.array的第一个参数需要是一个定义数据类型的字符。

+0

感谢一位小学生的错误。非常感谢! – Amer

相关问题