Так что это сводит меня с ума. Мне нужно взять текстовый файл, содержащий (все в одной строке)Python: проблема редактирования строки в текстовом файле
mmfff м фм Fmm FFF мммМММ mfmfmf mmmfff ММ fmmmf
и манипулировать ею в программе. Он должен открыть и прочитать файл, отредактировать пробелы и изменить все буквы на кепки. Затем нужно распечатать отредактированный файл, подсчитать m и f и вывести их как процент от целого.
# A program to determine male to female ratio
import math
main = raw_input("Enter the name of your file: ")
inputFile = open(main, 'r+')
gender =(inputFile.read().replace(" ", "").replace("f", "F").replace("m", "M"))
inputFile.close()
inputFile= open(main, 'r+')
inputFile.write(gender)
inputFile.close()
print gender
fletter = 0
mletter = 0
mletter = gender.count('M')
fletter = gender.count('F')
mletter =((mletter*100)/39)*1.0
fletter =((fletter*100)/39)*1.0
print "There are", mletter, " males and", fletter, " females."
Я пробовал так много способов, я даже не могу их запомнить! Мои проблемы в том, что он не редактирует файл txt должным образом, у меня есть лишние буквы в конце строки. И он отказывается обойти мою математику в конце, поэтому я заканчиваю 58 и 41, когда ей должно быть 59. И да, я действительно пробовал круглую функцию, не помог.
Попробуйте 'my_string.upper()' вместо 'my_string.replace ('m', 'M'). Replace ('f', 'F')'. – TigerhawkT3
Итак, у меня было это так, но я изменил его, думая, что с ним что-то не так, когда выход был неправильным. – Hatricia