有一个bubbleort程序,我希望电子邮件按字母顺序排序。但是,当我使用List运行程序时,我希望对其进行排序,我得到错误TypeError:' tuple'对象不支持项目分配。 这是代码:
def BubbleSort(logindata):
NoSwaps = 1
N = len(logindata)
while NoSwaps == 1:
Count = 1
NoSwaps = 0
for Count in range(N-1):
if logindata[Count] > logindata[Count+1]:
temp = logindata[Count]
logindata[Count] = logindata[Count+1]
logindata[Count+1]=temp
NoSwaps=1
return logindata
if __name__ == "__main__":
logindata=["tom@gmail.com","Password1"],["Harry","Password2"],["Jake","Password3"]
BubbleSort(logindata)
print(logindata)
该程序在没有“密码”的情况下对列表进行排序。我如何让代码运行并成功对其进行排序。
答案 0 :(得分:2)
假设您的冒泡排序算法正常运行,您的问题是您无法在tuple
中分配项目,在尝试logindata[count] = logindata[count+1]
时,您可以将logindata
更改为list
然后返回tuple
的{{1}},并且你应该捕获返回的logindata
然后打印它,整个代码看起来像这样:
logindata
答案 1 :(得分:0)
此代码将运行并对列表进行排序。但是我不知道这是否是您想要的方式。
public frmItem(string s)
{
InitializeComponent();
txtTry.Text = s;
}
private void button1_Click(object sender, EventArgs e)
{
if (this.Text == "EDIT")
{
cmd.Connection = cn;
cmd.CommandText = string.Format("Update Items Set (Barcode='" + txtcode.Text + "' ,Productname= '" + txtitemname.Text + "',Prices= '" + txtPrices.Text + "' ,Quantity= '" + txtquantity.Text + "' ,Brand= '" + txtbrand.Text + "',Expiry= '" + txtexpiry.Text + "',Description='" + txtdescription.Text + "' ,Critical= '" + txtcritical.Text + "' Barcode = '" + txtTry.Text + "')", cn);
cmd.ExecuteNonQuery();
MessageBox.Show("Records Updated!");
txtcode.Text = "";
txtitemname.Text = "";
txtPrices.Text = "";
txtquantity.Text = "";
txtbrand.Text = "";
txtexpiry.Text = "";
txtdescription.Text = "";
txtcritical.Text = "";
}
else
{
MessageBox.Show("Invalid");
}
}