文字列txt
を受け取り、その文字列のASCII文字のintを返す関数を作成しようとしています。また、2番目の引数n
があります。これは、各文字を変換する必要がある桁数を指定したintです。 nのデフォルト値は3です.nは常に3より大きく、入力文字列は常に空ではありません。文字列をそのascii値の整数に変換する
例出力:
string_to_number('fff')
102102102
string_to_number('ABBA', n = 4)
65006600660065
私の現在の戦略は、リストに変換することにより、その文字にtxt
を分割することです。次に、文字をord
の値に変換し、これを新しいリストに追加します。次に、この新しいリストの要素を数値に結合しようとします(たとえば、['102', '102', '102']
から['102102102']
に移動します)次に、このリストの最初の要素(別名唯一の要素)を整数に変換しようとします。このように:
def string_to_number(txt, n=3):
characters = list(txt)
ord_values = []
for character in characters:
ord_values.append(ord(character))
joined_ord_values = ''.join(ord_values)
final_number = int(joined_ord_values[0])
return final_number
問題は、私はType Error
を得ることである私はそれに複数の文字が含まれているものに来るとき、私ができるしかし、成功した単一文字の文字列の整数を返すコードを書くことができます。このタイプのエラーのために、このタイプのエラーがあります。これを修正する方法はありますか?ありがとう、これはかなり長い場合はお詫び申し上げます。
を書式文字列について知っておく必要があるほとんどすべて、あなたに感謝が含まれています!リストの理解ではなく書く方法がありますか?私自身の理解のために...私は、コードのどの部分が何をしているかを指摘できるようにしたいと思います。 –
@IndifferentPotato編集を見てください。そしてそれがあなたを助けたならば、それをupvoteし、答えの横にある空洞の目盛りをクリックすることで受け入れられたものとしてマークしてください。 :) –
華麗な、ありがとう! –