Rubyで描かれたプログラムのruby特有の文法をpythonではどう書くのかがわからないため、pythonで書き直してくださる方を探しています。下記がrubyのコードです。主にinclude?, next ifの部分がpythonではどう書けるのかを知りたいです。よろしくお願いします。
Ruby
input_lines = gets.split(" ") tasizan = input_lines[0].to_i hikizan = input_lines[1].to_i cnt=-0 drill=[] while cnt<tasizan kazu1 = rand(100) kazu2 = rand(100) next if kazu1+kazu2>99 next if drill.include?("#{kazu1} + #{kazu2} =") drill.push("#{kazu1} + #{kazu2} =") cnt+=1 end cnt=0 while cnt<hikizan kazu1 = rand(100) kazu2 = rand(100) next if kazu1 <= kazu2 next if drill.include?("#{kazu1} - #{kazu2} =") drill.push("#{kazu1} - #{kazu2} =") cnt+=1 end puts drill.sample(tasizan+hikizan)
自分で下記のようにpythonに変換してみたのですが、timelimit exceedのエラーが出てきてしまい、表示できません。どこか間違っている箇所や実行を遅くしてしまっている箇所を指摘していただけると幸いです。
Python
import random input_line = input().split(" ") addition = int(input_line[0]) subtraction = int(input_line[1]) count = -0 sampleQuestion = [] while count < addition: number1 = random.randint(0,100) number2 = random.randint(0,100) if number1 + number2 > 99: continue if any("#[number1] + #[number2] =" == var for var in sampleQuestion): continue sampleQuestion.append("#[number1] + #[number2] =") count += 1 count = 0 while count < subtraction: number1 = random.randint(0,100) number2 = random.randint(0,100) if number1 <= number2: continue if any("#[number1] - #[number2] =" == var for var in sampleQuestion): continue sampleQuestion.append("#[number1] - #[number2] =") count += 1 print(sampleQuestion.sample(addition + subtraction))
まだ回答がついていません
会員登録して回答してみよう