So im trying to change old value of variable to new value with user input. Here the code
class test():
id = "tes"
pwd = "1"
role = "2"
nama = "3"
nip = "4"
tl = "5"
nomorhp = "6"
alamat = "7"
databaru = ""
pilihan = ""
obj = test()
id = "tes"
pwd = "1"
role = "2"
nama = "3"
nip = "4"
tl = "5"
nomorhp = "6"
alamat = "7"
databaru = ""
pilihan = ""
jenisData = {
"Username": id,
"Password": pwd,
"Role": role,
"Nama Lengkap": nama,
"NIP": nip,
"Tanggal Lahir": tl,
"Nomor HP": nomorhp,
"Alamat": alamat
}
print(f"di merhod admin Username : {id}\nPassword : {pwd}\nRole : {role}\nNama Lengkap : {nama}\nNIP : {nip}\nTanggal Lahir : {tl}\nNomor HP : {nomorhp}\nAlamat : {alamat}")
while True:
editData = input("Data apa yang ingin diganti?: ")
if editData in jenisData:
datalama = jenisData[editData]
databaru = input("Masukkan data yang baru: ")
pilihan = input(f"Data {datalama} akan diganti ke {databaru}, anda yakin ingin menggantinya (Y/T)? ")
print(f"\nBefore call\nUsername : {id}\nPassword : {pwd}\nRole : {role}\nNama Lengkap : {nama}\nNIP : {nip}\nTanggal Lahir : {tl}\nNomor HP : {nomorhp}\nAlamat : {alamat}")
while True:
if pilihan == "Y" or pilihan == "y":
jenisData[editData] = databaru
setattr(obj, editData, databaru)
print(f"\nAfter call\nUsername : {id}\nPassword : {pwd}\nRole : {role}\nNama Lengkap : {nama}\nNIP : {nip}\nTanggal Lahir : {tl}\nNomor HP : {nomorhp}\nAlamat : {alamat}")
print("Ada lagi data yang ingin diganti?")
break
When im run it it didnt work, the Alamat value (for example) after call is still same. For example when i run code and want change Alamat value
Data apa yang ingin diganti?: Alamat
Masukkan data yang baru: 2
Data 7 akan diganti ke 2, anda yakin ingin menggantinya (Y/T)? Y
Before call
Username : tes
Password : 1
Role : 2
Nama Lengkap : 3
NIP : 4
Tanggal Lahir : 5
Nomor HP : 6
Alamat : 7
After call
Username : tes
Password : 1
Role : 2
Nama Lengkap : 3
NIP : 4
Tanggal Lahir : 5
Nomor HP : 6
Alamat : 7
Ada lagi data yang ingin diganti?
Data apa yang ingin diganti?:
The output is not expected, on print after call it should like this:
After call
Username : tes
Password : 1
Role : 2
Nama Lengkap : 3
NIP : 4
Tanggal Lahir : 5
Nomor HP : 6
Alamat : 2
Ada lagi data yang ingin diganti?
Data apa yang ingin diganti?:
How do i solve this and what part of code that wrong?