我认为我最大的问题是我不知道如何问我到底在寻找什么。
我从http://www.tuxradar.com/content/code-project-build-flash-card-app的抽认卡程序中窃取了大部分代码,并对其进行了一些修改以满足我自己的需要。但是,当我得到正确的答案时,它仍然说我弄错了。
这是我的代码:
#!/usr/bin/env python
import os
import random
import time
file1 = open('/root/first.txt', 'w')
file2 = open('/root/second.txt', 'w')
file1.writelines('1\n2\n3\n4\n5')
file2.writelines('0,2\n1,3\n2,4\n3,5\n4,6')
time.sleep(1)
file1.close
file2.close
time.sleep(1)
file1 = open('/root/first.txt', 'r')
file2 = open('/root/second.txt', 'r')
count = 0
score = 0
tries = int(raw_input('How many tries?'))
start_time = time.time()
f1content = file1.readlines()
f2content = file2.readlines()
try:
while count < tries:
os.system('clear')
wordnum = random.randint(0, len(f1content)-1)
correct = str(f2content[wordnum])
print 'Number:', f1content[wordnum], ''
answer = input('\nSurrounding numbers?')
if answer == correct:
raw_input('\nCorrect! Hit enter...')
score = score + 1
else:
print '\nNope, It\'s', correct
raw_input('Hit enter to try a new one...')
count = count + 1
except SyntaxError:
print 'you must enter a value, starting over'
os.system('./flash.py')
finally:
file1.close
file2.close
os.system('rm /root/first.txt')
os.system('rm /root/second.txt')
stop_time = time.time() - start_time
print '\nIt took you', stop_time / 60, 'minutes to get', score, 'out of', count, 'correct'
我假设我的问题出在第 35 行,我将正确定义为
correct = str(f2content[wordnum])
我认为这是因为如果它给了我1
并且我知道正确的答案是0,2
并且我输入它,它说不,它是0,2
。这表明在纯文本中它与人眼完全相同,但计算机将其读取为不同的东西。因此,我试图将其设为字符串并将其设为整数会导致错误。我真的被困住了,我确信它是如此简单,但我只是没有看到它。任何帮助,将不胜感激。即使这只是我可以找到答案的正确方向的一点。