파이썬 문제가 있습니다. (전에 개인적인 감정을 줘서 죄송합니다. : P).파이썬 파일 생성
나는 txt 파일을 가지고 있으며, 사용자 정의 언어를 포함하고 있으며이를 작동하는 파이썬 코드로 변환해야합니다.
입력 :
가import sys
n = int(sys.argv[1]) ;;print "Beginning of the program!"
LOOP i in range(1,n) {print "The number:";;print i}
BRANCH n < 5 {print n ;;print "less than 5"}
원하는 출력은 정확히 다음과 같습니다
import sys
n = int(sys.argv[1])
print "Beginning of the program!"
for i in range(1,n) :
print "The number:"
print i
if n < 5 :
print n
print "less than 5"
입력 파일의 이름은 매개 변수에서 읽습니다. out 파일은 out.py입니다. 매개 변수가 잘못된 경우 오류 메시지가 나타납니다. ;; 새 줄을 의미합니다.
내가 할려고 할 때, 나는 배열을 만들었고 모든 줄을 ""로 나눠 읽었습니다. 그런 다음 필자는 필자가 필요로하지 않는 자국에서 그것을 제거하고 싶었다. 나는 2 개의 고리를 만들었다. 하나는 줄을위한 것이고 하나는 단어를위한 것이다. 그래서 나는 그 것들을 대체하기 시작했습니다. 모든 것이 잘 돌아갈 때까지 갔다. 발견했지만 교체하거나 제거 할 수는 없습니다. 나는 무엇을해야할지 더 이상 모른다.
내 코드 (이 지저분 그리고 나는 순간에 파일에 쓰기이없는) :
이f = open('test.txt', 'r')
#g = open('out.py', 'w')
allWords = map(lambda l: l.split(" "), f.readlines())
for i in range(len(allWords)):
vanfor = -1
vanif = -1
for j in range(len(allWords[i])):
a=allWords[i][j]
a=a.replace(";;","\n")
a=a.replace("CIKLUS","for")
a=a.replace("ELAGAZAS","if")
if a == "for":
allWords[i][j+3] = str(allWords[i][j+3])+" :\n"
if a == "if":
allWords[i][j+3] = str(allWords[i][j+3])+" :\n"
zarojel=a.find('}')
if zarojel>-1:
a=a.rstrip('}')
a=a.replace("}","")
a=a.replace("{","")
if vanfor == -1:
vanfor=a.find("for")
if vanif == -1:
vanif=a.find("if")
if (vanfor > -1) or (vanif > -1):
a=a.replace("print"," print")
if j != (len(allWords[i]))-1:
allWords[i][j]=a+" "
print allWords[i][j],
이
누군가가 제발 도와 수 있습니까? 미리 감사드립니다.
# print allWords[i][j],
print a,
출력이됩니다 : 당신은 당신의 프로그램의 맨 끝을 변경하는 경우
1. 원하는 출력 예제 이외에 파이썬 코드를 게시하지 않았습니다. 2. 파이썬을 비난하고 싶지만 파이썬에 감사하는 사람들로부터 도움을 요청할 의향이 있습니까? 3. 아니요, 파이썬과 그 라이브러리에는} 문자에 특별한 문제가 없습니다. 잘못하고 있습니다. 4. 이것은 분명히 숙제입니다. 당신은 당신의 질문에 "과제"태그를 추가해야합니다. –
제가 대학에 있었을 때, 알고리즘 교수님은 엄격한 정책을 가지고있었습니다. 당신이 그의 사무실에서 당신이 이미 시도한 것을 보여주지 않고 도움을 청하면 우리는 학생들에게 나가라고 말합니다. 같은 맥락에서 벗어나십시오. –