如何将变量名(已经创建)追加到列表中?

2024-06-26 13:04:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我几乎把所有的答案都翻遍了,但没有找到答案。。 即时通讯正在制作程序进行sql插入查询。。 所以我有:

a="Aadi Aarav Aarnav Aarush Aayush Abdul Abeer Abhimanyu Abhiramnew Aditya Advaith Advay Advik Agastya Akshay Amol Anay Anirudhnew Anmol Ansh ArinArjun Arnav Aryan Atharv Avi Ayaan Ayush Ayushman Azaan Azad Daksh Darsh Dev Dev Devansh Dhruv Farhan Gautam Harsh Harshil Hredhaan Isaac IshaanJainew Jason Kabir Kalpit Karan Kiaan Krish Krishna Laksh LakshayManannew Mohammed Nachiket Naksh Nakul Neel Om Parth Pranav PraneelPranit Pratyush Rachit Raghav Ranbir Ranveer Rayaan Rehaannew Reyansh Rishi Rohan Ronith Rudranew Rushil Ryan Sai Saksham Samaksh SamarSamarth Samesh Sarthak Sathviknew Shaurya Shivansh Siddharth Tejas Vedant Veer Viaannew Vihaan Viraj Vivaan Yash Yug Zayan"
name=a.split(' ')
location="Goregaon dadar andheri vileparle santacruz london usa newYork Malad Mulund VAshi Newzealand ".split(' ')
grade="A B C D".split(' ')
query=[]
def generate(id):
    global query
    if id==1:
        query.append('[choice(name)]')
    elif id==2:
        query.append(',randint(35,99)')
    elif id==3:
        query.append(',choice(location)')
    elif id==4:
        query.append(',randint(25000,90000)')
    elif id==5:
        query.append(',choice(grade)')
    elif id==0:
        done()


def done():
    for i in range(5):
         print((query))
        #Result.insert(END,)

输出为:

^{pr2}$

但我想输出的是那个变量的值,就像随机名称生成的,我怎么能

编辑1:

伙计们,我想要的输出是这样的。。在

insert into student values (101, 'varun', 62, 'B', 'vashi') ;
insert into student values (102, 'nana', 46, 'C', 'vashi') ;
insert into student values (103, 'varun', 56, 'A', 'vashi') ;
insert into student values (104, 'rajkumar', 81, 'D', 'vashi') ;
insert into student values (105, 'varun', 73, 'A', 'malad') ;
insert into student values (106, 'rajkumar', 49, 'A', 'vashi') ;
insert into student values (107, 'rajkumar', 37, 'D', 'malad') ;
insert into student values (108, 'deepika', 30, 'C', 'vashi') ;
insert into student values (109, 'varun', 37, 'D', 'goregaon') ;

我有一个gui程序 像这样…enter image description here

所以变量的数量不是固定的。。 当用户点击按钮时,它会列出变量列表。。 在列表中 然后我想重复一下这个。。 希望你能理解我的问题


Tags: 答案程序idquerystudentsplitinsertvalues
2条回答

如果需要表达式的值,只需使用表达式;不要用引号括起来:

query.append([choice(name)])
# ...
query.append(randint(35, 99))
# etc.

我不知道你想用逗号做什么。如果您确实想要一个值的字符串表示形式的列表,前面有逗号,可以使用字符串格式:

^{pr2}$

这可能看起来和你正在做的相似,但是有两个主要的区别。在

首先,字符串前面的f前缀表示这是一个字符串格式表达式(也称为f-string),其中{…}内的位将被计算。在

其次,randint(35, 99)表达式是{…}中的一个位,因此它被计算为一个值,然后将其格式化为字符串并插入到模板中。在

因此,虽然原始代码中的randint(35, 99)表示字面字符ran等,但f字符串中的{randint(35, 99)}取决于您从调用randint(35, 99)得到的结果,例如,它可能最终意味着4和{}。在

但是如果你不想让这些逗号出现在你的值中,所有这些都是过于复杂的事情;只要把这些值附加起来,就像我在上面说的那样。在

像其他人一样,我不完全确定你们在这里要达到什么目的,但我会尽我所能。看起来你正在创建一个数据结构来存储关于学生的信息。有两种更好的方法。无论是字典还是对象。我将介绍对象方法。在

您需要创建一个学生类来包含您的数据。在

class Student:
    def ___init___(self, name, letter_grade, score, location):
        self.name = name
        self.letter_grade = letter_grade
        self.score = score
        self.location = location

使用这种数据结构,您可以将学生存储在一个列表中,并调用有关他们的信息。这是一个例子。在

^{pr2}$

这将在学生列表中存储一个带有姓名、年级和位置的学生。要返回有关它们的信息,需要专门调用它。在

print(students[0].name)

将返回“varun”

所以如果你想一次调用所有关于一个学生的信息,你可以做类似的事情

for student in students:
    print("insert into student values: ", student.name, student.letter_grade, student.score, student.location)

相关问题 更多 >