初心者のため、いろんなサイトを参考にしながらプログラミングを勉強しつつ書いていますが、どうしてもうまくいかず質問させていただきます。
testtext.txtの中身は0~10の数字が入っていますが、変数search_wordに収納したのち数字を2個ずつ出力し、出力した数字を削除して最後まで出力したら終了という形にしたいです。
search_wordより1と2を出力し、その値を削除するまではこちらの力を借りなんとか辿り着きましたが、if文で変数を最後まで出力させようとしたところエラーになりました。
File "<ipython-input-26-e9f795ded3d8>", line 1
if search_word = [[int(i1) for i1 in search_word]]>2 ^
SyntaxError: invalid syntax
if文でsearch_word>2としたいのですが、list型とint型で比較が出来ないため、とあるサイトを参考に
search_word = [int(i1) for i1 in search_word]>2とsearch_wordをint型に変換する処理をしてみましたが出た結果がyntaxError: invalid syntaxでした。
python
1f = open(r"C:\Users\user\Desktop\testtext.txt", "r") # IDファイルを読み込み 2search_word = f.read().split('\n') # ファイルの中身を変数IDへ 3f.close() # ファイルを閉じる 4 5print (search_word) 6print(type(search_word)) 7 8# 実行結果 9['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] 10<class 'list'> 11 12for i in search_word[0:2]: 13 print (i) 14# 実行結果 151 162 17print(type(search_word)) 18# 実行結果 19<class 'list'> 20 21del search_word [0:2] 22search_word 23# 実行結果 24['3', '4', '5', '6', '7', '8', '9', '10'] 25 26# ここまでOK 27 28if search_word = [int(i1) for i1 in search_word]>2 29 for i1 in search_word[0:2]: 30 print (i1) 31 del search_word [0:2] 32elif search_word = [int(i2) for i2 in search_word]>2 33 for i2 in search_word[0:2]: 34 print (i2) 35 del search_word [0:2] 36elif search_word = [int(i3) for i3 in search_word]>2 37 for i3 in search_word[0:2]: 38 print (i3) 39 del search_word [0:2] 40elif search_word = [int(i4) for i4 in search_word]>2 41 for i4 in search_word[0:2]: 42 del search_word [0:2] 43 print (i4) 44else: 45 search_word = [int(i5) for i5 in search_word]<2 46 for i5 in search_word[0:2]: 47 print (i5) 48コード
参考にさせてもらったサイトでは
ls = ["10", "20", "30", "40", "50"]
print(ls)
ls = [int(i) for i in ls] # ここでリストの中の値をint型へ変換しています。 print(ls)
とlist型をint型に変換していたため、同じように構築してみましたが、IF文の中で型を変更する事が出来ないのでしょうか?それとも構文の書き方を間違えてるのでしょうか?
回答3件
あなたの回答
tips
プレビュー