Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/32: Рейтинг темы: голосов - 32, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.04.2019
Сообщений: 31

Перевести на python

26.09.2019, 17:59. Показов 6845. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var s:string;
    a,b:integer;
    r:array[0..3] of integer;
    i:byte;
begin
for i:=0 to 3 do
r[i]:=0;
writeln('Вводите коды команд, окончание вввода 000');
repeat
repeat
readln(s);
if s='000' then
 begin
  writeln('Программа завершена');
  exit;
 end;
val(s,a,b);
if(b<>0)or not(s[1] in ['1'..'4'])
or not(s[2] in ['0'..'3'])
or((s[1] in ['2'..'4'])and not(s[3]in ['0'..'3']))
then writeln('Код введен неверно, повторите');
until (b=0)and(s[1] in ['1'..'4'])and(s[2] in ['0'..'3'])
or((s[1] in ['2'..'4'])and (s[3]in ['0'..'3']));
case s[1] of
'1':r[strtoint(s[2])]:=strtoint(s[3]);
'2':r[strtoint(s[3])]:=r[strtoint(s[2])];
'3':r[strtoint(s[3])]:=r[strtoint(s[3])]+r[strtoint(s[2])];
'4':r[strtoint(s[3])]:=r[strtoint(s[3])]-r[strtoint(s[2])];
end;
for i:=0 to 3 do
write('R',i,'=',r[i],'  ');
writeln;
until s='000';
end.
программа описывает работу процессора, 4 регистра всего.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.09.2019, 17:59
Ответы с готовыми решениями:

Перевести с Python на С++
&lt;program&gt; ::= &lt;statement&gt; &lt;statement&gt; ::= &quot;if&quot; &lt;paren-expr&gt; &lt;statement&gt; | &quot;if&quot; &lt;paren-expr&gt; &lt;statement&gt; &quot;else&quot;...

Перевести на python
var n,i,j,k:integer; a:array of integer; begin read(n); for i:=1 to n do read(a); k:=0; for i:=1 to n-1 do ...

Перевести с python на c++
def foo(): if random.randint(0, 1) == 0: return 228 else: return &quot;1337&quot;

3
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
26.09.2019, 18:22
Так вроде

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
r = [0] * 3
s = ''
print('Вводите коды команд, окончание вввода 000');
while s != '000':
    while True:
        s = input()
        if s == '000':
          print('Программа завершена')
          exit()
        a = int(s)
        if not s[0] in ['1','2','3','4'] or not s[1] in ['0','1','2','3'] or s[0] in ['2','3','4'] and not s[3] in ['0','1','2','3']:
            print('Код введен неверно, повторите')
        if (s[0] in ['1','2','3','4']) and (s[1] in ['0','1','2','3']) or ((s[0] in ['2','3','4']) and (s[3] in ['0','1','2','3'])):
            break
    if s[0] == '1':
        r[int(s[1])] = int(s[2])
    if s[0] == '2':
        r[int(s[2])] = r[int(s[1])]
    if s[0] == '3':
        r[int(s[2])] = r[int(s[2])]+r[int(s[1])]
    if s[0] == '4':
        r[int(s[2])] = r[int(s[2])]-r[int(s[1])];
    for i in range(3):
        print('R',i,'=',r[i],'  ')
1
0 / 0 / 0
Регистрация: 15.04.2019
Сообщений: 3
26.09.2019, 19:31
tooru, спасибо за решение, но выдает ошибку если рассматривать 2 , 3 и 4 формулы, например, если ввести 331 выходит за лист, на паскале работает без ошибки
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
26.09.2019, 19:44
Лучший ответ Сообщение было отмечено bread45963 как решение

Решение

Цитата Сообщение от крабинский Посмотреть сообщение
на паскале работает без ошибки
Начал забывать как for в паскале работает

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
r = [0] * 4
s = ''
print('Вводите коды команд, окончание вввода 000');
while s != '000':
    while True:
        s = input()
        if s == '000':
          print('Программа завершена')
          exit()
        a = int(s)
        if not (s[0] in ['1','2','3','4']) or not (s[1] in ['0','1','2','3']) or (s[0] in ['2','3','4'] and not s[2] in ['0','1','2','3']):
            print('Код введен неверно, повторите')
        if (s[0] in ['1','2','3','4']) and (s[1] in ['0','1','2','3']) or ((s[0] in ['2','3','4']) and (s[2] in ['0','1','2','3'])):
            break
    if s[0] == '1':
        r[int(s[1])] = int(s[2])
    if s[0] == '2':
        r[int(s[2])] = r[int(s[1])]
    if s[0] == '3':
        r[int(s[2])] = r[int(s[2])]+r[int(s[1])]
    if s[0] == '4':
        r[int(s[2])] = r[int(s[2])]-r[int(s[1])];
    for i in range(3):
        print('R',i,'=',r[i],'  ')
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2019, 19:44
Помогаю со студенческими работами здесь

Перевести с C++ на python
Плохо разбираюсь в Питоне, помогите перевести пожалуйста код. vector&lt;int&gt; dp; vector&lt;int&gt; take; int f(const...

Перевести с C на python
#include&lt;stdio.h&gt; #define N 20 void main () { int mas, i, n, summa = 0,perv=0,last=0; printf(&quot;\nVvedi kol-vo elementov\n&quot;); ...

Перевести на python
var f: text; nm, cm, n, c, t: integer; begin assign(f, 'd:\input.txt'); reset(f); cm := 0; c := 0; while not...

Перевести с C++ на python
Так как я чайник в питоне, помогите разобраться с кодом. Очень хочу понять алгоритм на питоне. #include &lt;stdio.h&gt; #include...

Перевести с python на c++
def height(man): if man not in p_tree: return 0 else: return 1 + height(p_tree) p_tree = {} n =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru