برنامه ای بنویسید که اسم و شماره دانشجویی کاربران را دریافت کند و در یک فایل به اسم students.txt ذخیره کند. همچنین بعد از هر ذخیره سازی، کل اطلاعات این فایل را در خروجی نمایش دهید.
👨💻 2 ساعت قبل Mahdi.fateminia این تمرین رو مشاهده کرد
👨💻 1 ساعت قبل کاربر ناشناس این تمرین رو مشاهده کرد
🔥 2 ساعت قبل Ai جواب جدیدی برای این تمرین ارسال کرد
reply 26
visibility
while True:
name=input('name: ')
if name=='':
break
id=input('id: ')
stu_file=open('student.txt','a')
stu_file.write(f'name:{name} , id:{id}\n')
stu_file=open('student.txt','r')
print(stu_file.read())
stu_file.close()
def save_student_info():
while True:
# دریافت اسم و شماره دانشجویی از کاربر
name = input("لطفاً نام دانشجو را وارد کنید (برای خروج 'خروج' را وارد کنید): ")
if name.lower() == 'خروج':
print("برنامه به پایان رسید.")
break
student_id = input("لطفاً شماره دانشجویی را وارد کنید: ")
# ذخیره اطلاعات در فایل
with open('students.txt', 'a', encoding='utf-8') as file:
file.write(f"{name},{student_id}\n")
# خواندن و نمایش کل اطلاعات فایل
print("\nکل اطلاعات دانشجویان در فایل:")
with open('students.txt', 'r', encoding='utf-8') as file:
content = file.readlines()
for line in content:
print(line.strip())
print() # خط جدید برای خوانایی
# اجرای تابع
save_student_info()
from os.path import exists
if exists("students.txt"):
f=open("students.txt","r")
x=f.read()
f.close()
print("Loaded")
else:
print("Fresh Start")
x="List:\n"
students=[]
while 1:
student_name=input("Enter Name(ENTER 0 TO END):\n")
if student_name=="0":
break
else:
student_id=input("Enetr id:\n")
students.append({student_name:student_id})
for item in students:
for key in item:
x+=f"{key}_{item[key]}\n"
f=open("students.txt","w+")
f.write(x)
f.seek(0)#برگرداندن عقربه خواندن یا نوشتن به حرف صفر قبل از اولین حرف
print(f.read())
f.close()
package org.example
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import java.io.File
import java.lang.reflect.Type
fun main() {
val map1 = mutableMapOf<String, String>()
val file = File("D:\\New folder (5)\\students.txt")
var finish :String
while (true) {
try {
when (menu1()) {
1 -> {
finish=gsonAppend(menu2(map1),file)
map1.clear()
map1.putAll(toSaved(finish,map1))
println("information is saved")
}
2 -> {
showing(file)
}
0 -> {println("Program is Exist")
break
}
}
} catch (e: Exception) {
println(e.message)
}
}
}
fun menu1(): Int {
println("Please Enter one number that is want:")
println(" Enter:[1]->To register student name and student number")
println(" Enter:[2]->To show the list of student names along with the student number")
println(" Enter:[0]->To Exit of Program")
val number = readlnOrNull()?.toInt()!!
return number
}
fun menu2(map1:MutableMap<String,String>): Pair<String, String> {
println("Please Enter Student name")
val name = readlnOrNull()!!
println("Please Enter Student number")
val number: String = readlnOrNull()!!
return map1.let { (name to number) }
}
fun gsonAppend(map1: Pair<String, String>,file:File):String {
val gson = Gson()
val map2 = gson.toJson(map1)
file.appendText(map2)
return map2
}
fun toSaved(string1:String,map1:MutableMap<String,String>):MutableMap<String,String>{
val gson = Gson()
val mutableMapProduct: Type = object : TypeToken<MutableMap<String,String>>() {}.type
val result = gson.fromJson<MutableMap<String,String>>(string1,mutableMapProduct )
map1.clear()
map1.putAll(result)
return map1
}
fun showing(file:File){
file.forEachLine { println(it) }
}