qbasic к python как - PullRequest
       41

qbasic к python как

0 голосов
/ 29 декабря 2018

Я пытаюсь преобразовать некоторый старый код qbasic (старый dos basic) в python.Я знаю Python, но не очень много qbasic (кроме угадывания значения синтаксиса).Это код qbasic

1020 DIM XS(499), A(504), V(99)
1560 GOSUB 2600                 'Get coefficients

2600 REM Get coefficients
2660 CODE$ = "A"
2680 M% = 3
2690    FOR I% = 1 TO M%        'Construct CODE$
2700        GOSUB 2800          'Shuffle random numbers
2710        CODE$ = CODE$ + CHR$(65 + INT(25 * RAN))
2720    NEXT I%
2730 FOR I% = 1 TO M%           'Convert CODE$ to coefficient values
2740    A(I%) = (ASC(MID$(CODE$, I% + 1, 1)) - 77) / 10
2750 NEXT I%
2760 RETURN
2800 REM Shuffle random numbers
2810 IF V(0) = 0 THEN FOR J% = 0 TO 99: V(J%) = RND: NEXT J%
2820 J% = INT(100 * RAN)
2830 RAN = V(J%)
2840 V(J%) = RND
2850 RETURN

Похоже, он отображает коды ASCII на случайные числа, но мне не ясно, как, поскольку я не знаком с синтаксисом J% и V (J%) и т. Д.(не знаю, что означает%)

1 Ответ

0 голосов
/ 03 января 2019

Как уже упоминалось, в QBasic %, $ и # обозначают тип данных переменной.В Python вам не нужно указывать типы данных переменных, но в QBasic это выглядит так:

QBasic
I%   ' % = integer variable
str$ ' $ = string variable
f#   ' # = floating point variable

И если вы хотите преобразовать функции QBasic, посмотрите следующие вопросы: Python-эквивалент mid и Python получает значение ASCII

QBasic              Python
str$ = "water"      str = "water"
ASC("A")            ord("A")     // result 65
MID$(str$, 3, 2)    str[3,(3+2)] // result "te"
CHR$(65)            chr(65)      // result "A"
...