-4
私は電話帳の作成に関する宿題があります。そして私はコードをしました。str.replaceを使用すると、私はTypeErrorを返します。 'str'オブジェクトは整数として解釈できません。
import sys
print("Type 'help' to learn commands ")
command = ("show_list, add_person, delete_person, search_person, exit")
command1 =()
list1 = {}
while True:
command1 = input("Command: ")
saved = open("PhoneBook.txt", "a")
if command1 == "help":
print(command)
print()
elif command1 == "show_list":
saved = open("PhoneBook.txt", "r")
print(saved.read())
saved.close()
elif command1 == "add_person":
name = str(input("Name: "))
number = int(input("Number: "))
list1[name] = number
saved = open("PhoneBook.txt", "w")
saved.write("\n-------------")
saved.write(str(name))
saved.write(":")
saved.write(str(number))
saved.write("-------------\n")
saved.close()
elif command1 == "search_person":
search = open("PhoneBook.txt", "r")
search1 = input("Name:")
for line in search:
if search1 in line:
print("\n")
print(search)
elif command1 == "delete_person":
del0 = open("PhoneBook.txt", "r+")
del1 = str(input("Name: "))
for line in del0:
if del1 in line:
del2 = line.replace(" ", " ", " ")
del0.write(silinecek3)
del0.close()
elif command1 == "exit":
sys.exit()`
名前を削除する以外はすべてが良いと思います(私は思う)。名前を削除しようとすると、出力されます:
Traceback (most recent call last):
File "C:/Users/oyuni/Desktop/ödeving.py", line 47, in <module>
del2 = line.replace(" ", " ", " ")
TypeError: 'str' object cannot be interpreted as an integer
そして私は何をすべきかわかりません。コードを修正するのに手伝ってくれる人はいますか?
'line.replace(" "、" "、" ")'は何をしますか? 'replace'の3番目の引数は' int'でなければなりません。 – DeepSpace