|
1. This is the Python forum.
2. This site does not provide code to order.
|
|
|
|
|
The only code you are ever going to get is the code YOU write.
Stop being lazy and start thinking about the problems you're facing and try to design a system to solve those problems.
|
|
|
|
|
I want to use python for decoder my .dat binary file generate by MSC Huawei MSOFTX3000 i need a compiler and other class to optimize and autamatise process for .dat file to oracle database
|
|
|
|
|
|
I'm looking for advice on how to efficiently search a solution space under certain conditions.
The solution space is a multidimensional array of positive integers. At each point in the array I run a function that either fails or passes. Importantly, if a point passes, then every point "under" it will also pass and doesn't need to be tested.
To illustrate, a 2D example would be an array of X and Y where X is 0 - 10 and Y is 0 - 15. If the point (2,3) passes then I know that (2,2), (2,1), (2,0), (1,3), (1,2), (1,1), (1,0), (0,3), (0,2) (0,1), (0,0) will also pass. Each of those points is "under" (2,3) in the sense that each element is less than or equal to it. There can be multiple “upper” pass points - for example, (1,5) could be a pass point in addition to (2,3).
I've already gleaned that it's more efficient to search the solution space from high to low values, because if an "upper" point passes then there's no need to test the "lower" points. But any advice beyond that is greatly appreciated, thank you!
modified 20-Apr-24 11:17am.
|
|
|
|
|
Your description implies that the search needs to start from the end of the array and work back to the beginning. That is in the case described going from [9, 14] back to [0, 0]. But maybe that is not quite what you do mean.
|
|
|
|
|
It’s definitely more efficient to test points from high values to lows. For example, you always want to test point (5,8) before you test point (4,7) because if the former passes there’s no need to test the latter. But beyond that I’m lost on how to improve the efficiency of the search.
|
|
|
|
|
That may be true, but your question is not clear (to me). Please edit your original post and add some more detail of what you are trying to do.
|
|
|
|
|
I edited the post to add more detail.
|
|
|
|
|
Binary search along one axis to find the greatest value that passes. Repeat for the each successive axis. That seems like it should work.
"A little song, a little dance, a little seltzer down your pants"
Chuckles the clown
|
|
|
|
|
Second option, binary search along the diagonal, e.g. from (0,0), (1,1), ... (n,n) where n is min(max-x, max-y), until you find last pass. Call this point (p,p).
If f(p+1, p) passes : binary search for last pass along x axis between [p+2...max-x].
Else if f(p,p+1) passes : binary search for last pass along the y axis between [p+2...max-y].
Else answer is (p,p)
assuming I've understood your problem set correctly.
If f is not too complex, and your data matrix is not large, then maybe a simple linear search is "good enough" wrt the above.
"A little song, a little dance, a little seltzer down your pants"
Chuckles the clown
|
|
|
|
|
Hello I'm working on a Twitter Clone project and receiving an error when I try to delete profile. Here's the error message.
sqlalchemy.exc.IntegrityError: (psycopg2.errors.NotNullViolation) null value in column "user_id" of relation "messages" violates not-null constraint
DETAIL: Failing row contains (11, Hello Guys, 2024-04-19 13:02:36.170058, null).
|
|
|
|
|
Try using serial datatype instead of int4 datatype in your target (table?) creation code.
|
|
|
|
|
Thank you I'll try that see what happens
|
|
|
|
|
The error is telling you that you cannot delete a user profile because it will orphan all of the messages that user posted. With the database structure you have, you have to delete all the messages for the user profile, then delete the user profile.
|
|
|
|
|
Thank you so much I'll try this as well
|
|
|
|
|
|
I would like to request assistance with my code, where when inserting a table into the database from Python, the system replies with an error that says that the table is not nonexistent. However, the table is there.
Cafeteria.py
import sqlite3
from Chef_staff import *
conn = sqlite3.connect('Chef__Order.db')
curs = conn.cursor()
MembersID = {'Aria': 'ID001', 'Barston': 'ID002', 'CJ': 'ID003', 'Damarsh': 'ID004', 'Elaine': 'ID005'}
MembersFeedback = {'Aria': 0, 'Barston': 0, 'CJ': 0, 'Damarsh': 0, 'Elaine': 0}
MembersOrder = {'Aria': 0, 'Barston': 0, 'CJ': 0, 'Damarsh': 0, 'Elaine': 0}
Food = {'Burger': 5.00, 'Pancakes': 2.00, 'Sandwiches': 2.50, 'Steak': 10.00, 'Fries': 1.50, 'Tea': 0.50, 'Coffee': 0.75}
FoodRating = {'Burger': 0, 'Pancakes': 0, 'Sandwiches': 0, 'Steak': 0, 'Fries': 0, 'Tea': 0, 'Coffee': 0}
order_no = 0
burger_rate = 0
pancake_rate = 0
sandwich_rate = 0
steak_rate = 0
fries_rate = 0
tea_rate = 0
coffee_rate = 0
accumalated_b = 0
accumalated_p = 0
accumalated_sw = 0
accumalated_st = 0
accumalated_f = 0
accumalated_t = 0
accumalated_c = 0
while True:
order_option = False
login = input('Please enter your member username: ')
for i in MembersID:
if login == i:
while order_option == False:
price = 0
order_no =+ 1
order = int(input('Please select which food you would like to order\n1. Burger\n2. Pancakes\n3. Sandwiches\n4. Steak\n5. Fries\n6. Tea\n7. Coffee\n'))
if order == 1:
amount_order = int(input('How many burgers would you like to order?\n'))
MembersOrder[i] += amount_order
print(f'You have ordered {amount_order} Burger, {login}')
price = Food['Burger'] * amount_order
curs.execute(f'INSERT INTO Progression (OrderNo, ID, Food, Quantity, Price) VALUES ({order_no},{MembersID[i]},"Burger",{amount_order},{price})')
elif order == 2:
amount_order = int(input('How many pancake would you like to order?\n'))
MembersOrder[i] += amount_order
print(f'You have ordered {amount_order} Pancakes, {login}')
price = Food['Pancakes'] * amount_order
curs.execute(f'INSERT INTO Progression (OrderNo, ID, Food, Quantity, Price) VALUES ({order_no},{MembersID[i]},"Pancakes",{amount_order},{price})')
elif order == 3:
amount_order = int(input('How many sandwich would you like to order?\n'))
MembersOrder[i] += amount_order
print(f'You have ordered {amount_order} Sandwiches, {login}')
price = Food['Sandwiches'] * amount_order
curs.execute(f'INSERT INTO Progression.tbl (OrderNo, ID, Food, Quantity, Price) VALUES ({order_no},{MembersID[i]},"Sandwiches",{amount_order},{price})')
elif order == 4:
amount_order = int(input('How many Steak would you like to order?\n'))
MembersOrder[i] += amount_order
print(f'You have ordered {amount_order} Steak, {login}')
price = Food['Steak'] * amount_order
curs.execute(f'INSERT INTO Progression (OrderNo, ID, Food, Quantity, Price) VALUES ({order_no},{MembersID[i]},"Steak",{amount_order},{price})')
elif order == 5:
amount_order = int(input('How many packet of fries would you like to order?\n'))
MembersOrder[i] += amount_order
print(f'You have ordered {amount_order} packet of fries, {login}')
price = Food['Fries'] * amount_order
curs.execute(f'INSERT INTO Progression (OrderNo, ID, Food, Quantity, Price) VALUES ({order_no},{MembersID[i]},"Fries",{amount_order},{price})')
elif order == 6:
amount_order = int(input('How many tea would you like to order?\n'))
MembersOrder[i] += amount_order
print(f'You have ordered {amount_order} tea, {login}')
price = Food['Tea'] * amount_order
curs.execute(f'INSERT INTO Progression (OrderNo, ID, Food, Quantity, Price) VALUES ({order_no},{MembersID[i]},"Tea",{amount_order},{price})')
elif order == 7:
amount_order = int(input('How many coffee would you like to order?\n'))
MembersOrder[i] += amount_order
print(f'You have ordered {amount_order} coffee, {login}')
price = Food['Coffee'] * amount_order
curs.execute(f'INSERT INTO Progression (OrderNo, ID, Food, Quantity, Price) VALUES ({order_no},{MembersID[i]},"Coffee",{amount_order},{price})')
else:
print('Please enter a valid number')
order_option1 = input('Would you like to order more? Y/N\n')
if order_option1 == 'Y':
order_option = False
elif order_option1 == 'N':
order_option = True
option = input('Would you like to give a rating? (Y/N)')
if option == 'Y':
curs.execute(f'INSERT INTO Members (Feedback) VALUE (Feedback + 1)')
selection = int(input('Please select which food to rate\n1. Burger\n2. Pancakes\n3. Sandwiches\n'))
if 1 <= selection <= 7 :
rating = int(input('Please rate your experience from 1 to 5: '))
if rating > 0 and rating < 6:
if selection == 1:
burger_rate += 1
FoodRating['Burger'] = int((accumalated_b + rating) / burger_rate)
curs.execute(f'INSERT INTO Food (Ratings) Value')
elif selection == 2:
pancake_rate += 1
FoodRating['Pancakes'] = int((accumalated_p + rating) / pancake_rate)
elif selection == 3:
sandwich_rate += 1
FoodRating['Sandwiches'] = int((accumalated_sw + rating) / sandwich_rate)
elif selection == 4:
steak_rate += 1
FoodRating['Steak'] = int((accumalated_st + rating) / steak_rate)
elif selection == 5:
fries_rate += 1
FoodRating['Fries'] = int((accumalated_f + rating) / fries_rate)
elif selection == 6:
tea_rate += 1
FoodRating['Tea'] = int((accumalated_t + rating) / tea_rate)
elif selection == 7:
coffee_rate += 1
FoodRating['Coffe'] = int((accumalated_c + rating) / coffee_rate)
else:
print('valid rating is 1 to 5')
print(f'Number of orders ordered by members\n {MembersOrder}')
print(f'Current food rating\n{FoodRating}')
Database table_DB browser
CREATE TABLE "Chef" ( "ChefID" TEXT NOT NULL, "Chefs" TEXT NOT NULL, "Meals cooked No." INTEGER, PRIMARY KEY("ChefID","Chefs") )
CREATE TABLE "Food" ("FoodID" INTEGER, "Food names" TEXT, "Ratings" INTEGER, "Price" INTEGER, PRIMARY KEY("Price", "Food names", "FoodID"))
CREATE TABLE "Members" ("ID" TEXT NOT NULL, "Names" TEXT, "Feedback" INTEGER, PRIMARY KEY("ID","Names"))
CREATE TABLE "Progression" ("OrderNo" INTEGER, "ID" TEXT, "Food" TEXT, "Quantity" INTEGER, "Price" REAL, "Progress" TEXT, FOREIGN KEY("ID") REFERENCES "Members"("ID")) CREATE TABLE sqlite_sequence(name,seq)
Chef_staff.py
ChefID = {'Harlow': 'ID010', 'Benedict': 'ID011', 'Carlson': 'ID012'}
ChefOrder = {'Harlow': 0, 'Benedict': 0, 'Carlson': 0}
|
|
|
|
|
skmsjh wrote: the table is not nonexistent
Assuming that double-negative is a mistake, then the error is telling you that the table does not exist.
skmsjh wrote: However, the table is there.
You say the table is there; the error message says the table is not there. Guess which statement we're going to believe?
Start by triple-checking which database you're connecting to. Based on the code, it looks like you're connecting to a file-based database in the current working directory, which is usually the same directory as your code. You have almost certainly added the tables to a different copy of that database.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
modified 26-Feb-24 4:35am.
|
|
|
|
|
I recommend to create database tables after you connect to the database.
put this code at after creating conn variable to avoid tables does not exists issue.
conn = sqlite3.connect('Chef__Order.db')
conn.execute("""CREATE TABLE IF NOT EXISTS "Chef" ( "ChefID" TEXT NOT NULL, "Chefs" TEXT NOT NULL, "Meals cooked No." INTEGER, PRIMARY KEY("ChefID","Chefs") )""")
conn.execute("""CREATE TABLE IF NOT EXISTS "Food" ("FoodID" INTEGER, "Food names" TEXT, "Ratings" INTEGER, "Price" INTEGER, PRIMARY KEY("Price", "Food names", "FoodID"))""")
conn.execute("""CREATE TABLE IF NOT EXISTS "Members" ("ID" TEXT NOT NULL, "Names" TEXT, "Feedback" INTEGER, PRIMARY KEY("ID","Names"))""")
conn.execute("""CREATE TABLE IF NOT EXISTS "Progression" ("OrderNo" INTEGER, "ID" TEXT, "Food" TEXT, "Quantity" INTEGER, "Price" REAL, "Progress" TEXT, FOREIGN KEY("ID") REFERENCES "Members"("ID"))""")
This code will create table if it already does not exists and if it already exists it will not through any error and the program will run just fine.
|
|
|
|
|
Hi,
I am trying to understand a code in python:
what something similar to mystruct((0x03).to_byte(),'little') means?. trying to convert it to c.
|
|
|
|
|
You need to provide more details of the actual code you are referring to. Where is the definition of mystruct ?
|
|
|
|
|
please send the codes, i can learn from that
|
|
|
|
|
That's not how this works. The only code you're ever going to get is the code YOU write.
Nobody is going to do your work for you.
|
|
|
|
|
Dave Kreskowiak wrote: That's not how this works.
Yeah - he forgot to type in ALL CAPS, and missed the magic "ITS URGENTZ!!!!1!!" from the end of the "SEND TEH CODEZ NAO" demand.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|