지금은 텍스트 파일에 변수 세트를 저장하고 있습니다. 나는 내 코드가 작동하는지 확인하기 위해 다음과 같은 작업을하고 있지만 10과 같이 두 자리 숫자를 사용할 때마다이 숫자를 최대 숫자로 인쇄하지는 않습니다.최대 숫자가 두 자리 숫자를 무시하는 이유는 무엇입니까?
내 텍스트 파일이 이렇게 보입니다.
tom:5
tom:10
tom:1
최대 값을 5로 출력합니다.
name = input('name')
score = 4
if name == 'tom':
fo= open('tom.txt','a')
fo.write('Tom: ')
fo.write(str(score))
fo.write("\n")
fo.close()
if name == 'wood':
fo= open('wood.txt','a')
fo.write('Wood: ')
fo.write(str(score))
fo.write("\n")
fo.close()
tomL2 = []
woodL2 = []
fo = open('tom.txt','r')
tomL = fo.readlines()
tomLi = tomL2 + tomL
fo.close
tomLL=max(tomLi)
print(tomLL)
fo = open('wood.txt','r')
woodL = fo.readlines()
woodLi = woodL2 + woodL
fo.close
woodLL=max(woodLi)
print(woodLL)
문자열이 아닌 숫자를 비교합니다. 'max'를 사용하기 전에 그것들을'float'으로 변환 할 필요가 있습니다. – Rufflewind
Ok 이렇게하면 다음과 같습니다 : keys.sort (key = float) – pythonlegend232
그렇게 간단한 것은 아닙니다. 파이썬에 관한 한, 문자열은 단지 비 순차적 인 문자 시퀀스입니다. 사람이 읽을 수있는 숫자가 있는지 여부를 이해하지 못합니다. 해당 숫자를 추출하려면 문자열을 명시 적으로 [구문 분석] (https://en.wikipedia.org/wiki/Parsing)해야합니다. – Rufflewind