前提・実現したいこと
pythonで記号を数字に直し入力した記号の数字同士の足し算をするプログラムを作成したいです。
ソースコード
python
1E = '<//+///' 2d = {'<':10,'/':1} 3l = [] 4for i in range(len(E)): 5 for a,b in d.keys(): 6 if E[i] == a: 7 l.append(d['<']) 8 elif E[i] == b: 9 l.append(d['/']) 10print(l)
ですが、以下のようなエラーが出てしまいます
エラーメッセージ
for a,b in d.keys():
ValueError: not enough values to unpack (expected 2, got 1)
補足情報)
pytho3.8.5 64-bit
VisualStudioCode使用
このコードだけだと何がやりたかったのかよくわからないので、サンプルとなるようなインプットと、期待する出力を追記していただけますでしょうか。
<//+////のような文字列を入力します
Amakaze さんが書いた
> 期待する出力を追記していただけますでしょうか
の部分を無視しているようです。
貼ってあるコードは作成途中で、今のところ <//+//// の入力に [10, 1, 1, 1, 1, 1, 1] というリストが作られると期待していますか?
情報はこの欄ではなくて、質問を編集して追記しましょう。
申し訳ございません、[10,1,1,1,1,1,1]のリストを作成することを期待しています。
この欄に返信する必要はまったくありませんよ。
情報はこの欄ではなくて、質問を編集して追記しましょう。
質問をちゃんと書いて欲しいから依頼しているだけで、お礼とか"申し訳ございません"とかまったく必要ないです、むしろやって欲しいことを無視された気分にしかなりません。
(これへのコメントも無用です)
回答3件
あなたの回答
tips
プレビュー