반응형
무작위 가져 오기와 관련하여 실행하는 데 문제가있는 간단한 수학 작업이 있습니다. 아이디어는 무작위로 생성 된 10 개의 질문으로 구성된 퀴즈가 있다는 것입니다. random.randint 함수를 사용하여 (0,12) 범위의 숫자를 얻었습니다. [ '+', '-', '*', '/']에 문제가있는 임의 연산자를 선택하는 다음 비트입니다.
나는 학교에서 더 정교한 코딩을 가지고 있지만, 이것이 내가 필요한 것은 무작위로 질문을 만들고 질문하는 능력과 주어진 대답이 올바른지 결정하기 위해 스스로 대답 할 수있는 능력입니다. 내 코드는 다음과 같습니다.
import random
ops = ['+', '-', '*', '/']
num1 = random.randint(0,12)
num2 = random.randint(0,10)
operation = random.choice(ops)
print(num1)
print(num2)
print(operation)
maths = num1, operation, num2
print(maths)
지금 당장은 내 출력이 약간 엉망입니다. 예를 들면 :
3
6
*
(3, '*', 6)
분명히 (3, '*', 6)에서 답을 결정할 수 없습니다. 이 작업을 다른 프로그램에서 서브 루틴으로 전환 할 것이지만 먼저 작동해야합니다!
잘하지 못했다면 용서 해주세요. 이것은 제가 학교에서 남긴 과제를 재빨리 재현 한 것이었고, 저는 제한된 지식으로 이것에 상당히 새롭습니다. 미리 감사드립니다!
해결 방법
파이썬에는 수학식이 포함 된 문자열을 평가하는 eval ()이라는 함수가 있습니다.
import random
ops = ['+', '-', '*', '/']
num1 = random.randint(0,12)
num2 = random.randint(0,10)
operation = random.choice(ops)
print(num1)
print(num2)
print(operation)
maths = eval(str(num1) + operation + str(num2))
print(maths)
함수가 문자열 '4 * 2', '3 + 1'등과 같은 것을 예상하기 때문에 숫자를 문자열로 변환해야합니다.
참조 페이지 https://stackoverflow.com/questions/26260950
반응형
'파이썬' 카테고리의 다른 글
파이썬 인덱스 배열을 기반으로 배열을 재정렬하는 방법 (0) | 2020.12.06 |
---|---|
파이썬 Mac + Anaconda에서 Qt 디자이너 앱은 어디에 있습니까? (0) | 2020.12.06 |
파이썬 how to use python2.7 pip instead of default pip (1) | 2020.12.06 |
파이썬 Automating HP Quality Center with Python or Java (0) | 2020.12.06 |
파이썬 Python-epoch 시간에서 사람이 읽을 수있는 시간으로 초 변환 (0) | 2020.12.06 |
댓글