• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 10:04
CEST 16:04
KST 23:04
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Serral wins Maestros of the Game 234ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7
Community News
Weekly Cups (June 29-July 5): Solar Doubles0MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon425.0.16 Hotfix (June 30) - Balance + Bug Fixes40Weekly Cups (June 22-28): Zergs thrive in new patch5[TLMC] Summer 2026 Ladder Map Rotation0
StarCraft 2
General
MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon Most successful SC2 players of Q2 2026 Serral wins Maestros of the Game 2 Is the larve respawn broken? 5.0.16 patch for SC2 goes live (8 worker start)
Tourneys
Sea Duckling Open (Global, Bronze-Diamond) Crank Gathers Season 4: BW vs SC2 Team League GSL CK #5 Race War HomeStory Cup 29 RSL Revival: Season 6 - Qualifiers and Main Event
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
Mutation # 533 Die Together The PondCast: SC2 News & Results Mutation # 532 Nuclear Family Mutation # 531 Experimental Artillery
Brood War
General
Starcraft vs Retro Category on Twitch ASL 22 Proposed Map Pool 60% Keyboards Viable for Starcraft? Snow On New ASL S22 Map, Zerg Nerf BW General Discussion
Tourneys
Escore Tournament StarCraft Season 2 Small VOD Thread 2.0 IPSL Spring 2026 Top 4! CSLAN 4 is Coming!
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Dawn of War IV Summer Games Done Quick 2026! ZeroSpace at Steam NextFest - Last free demo
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread TL Mafia Power Rank Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! Series you have seen recently... [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Tennis[sport] Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard? Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Major Shifts in the Gaming I…
TrAiDoS
An Exploration of th…
waywardstrategy
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6123 users

The Big Programming Thread - Page 150

Forum Index > General Forum
Post a Reply
Prev 1 148 149 150 151 152 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
Last Edited: 2012-07-10 01:35:11
July 10 2012 01:33 GMT
#2981
On July 09 2012 13:00 Azerbaijan wrote:
I'm working on learning C and I made this simple number guessing game. I'm curious about the length of what I wrote and if it actually needs to tbe this long. I'm sure theres a way to compress it, maybe with functions, but im not quite there yet. I do want to know if this looks ok as far as clarity and use of functions goes. I know that scanf() is not a good choice but I'm still working on figuring out getchar() as an alternative, it still seems really abstract to me, its mostly just that that data types of confusing I think. I did manage to use getchar() and putchar() to spit out the ascii value of a character for me. SO basically i'm still a total noob but I'm having fun.

You don't need to compress it; it looks fine.

What would be more important though is just learning about the different data types and control structures (loops, if statements, switch statements, functions). scanf is perfectly fine for gathering user input when you're just learning to code. getchar will simply retrieve the first letter in the input buffer, and it waits for something to be placed into the input buffer if it is empty (things are placed into the input buffer when enter is pressed in a console program). Since getchar returns a single character you can actually just create a loop with getchar to read all the characters in the input buffer until a newline character is reached -- this reads a line from the input buffer:


char i;
while(i = getchar( ); i != '\n'; i = getchar( )) // Read each character, stop when find '\n' newline
{
printf( "%c", i ); // print retrieved characters back to the user
}


The above code will read a single line of user input and then print the line back to the user.
MisterD
Profile Blog Joined June 2010
Germany1338 Posts
July 10 2012 01:34 GMT
#2982
On July 09 2012 16:53 Morfildur wrote:
Show nested quote +
On July 09 2012 16:22 opsayo wrote:
not a big fan of using ? for if statements

readability > conciseness imo :-)


If you add whitespace, that single line is a lot more readable than


if (guess < number) {
lowhigh_text = "low";
} else {
lowhigh_text = "high";
}


It always depends on how it's used. With the ternary ?: operator, it's clear that the variable gets assigned either value. In the if/else case you have to check each block to check if it's really the same variable that gets assigned.

While maintaining and repairing some of our legacy code, I got caught several times by code like:


if (a == b) {
temp = x;
} else {
tmp = y;
}




which is why you should use meaningful names, and not "temp" :D but yeah, the occasional ?: can replace a lot of other infrastructure code in some places.
Gold isn't everything in life... you need wood, too!
Ultraliskhero
Profile Joined April 2010
Canada249 Posts
July 17 2012 22:06 GMT
#2983
Hi guys, I have a question about my program in Python.

But first, can someone tell me how to make the block where I can post code properly? Like what tags I need to use? right now I don't even know how to indent, because extra spaces don't show up in my post, so I will not post any code for now.

I know C/C++ but I've just learned a bit of python(Very Noob) and I'm trying to create a tree in python.
It's not a binary tree or anything, and there is no order. Each treeNode simply has a list of treeNodes.

So first I create a treeNode object as the head, and it contains a list called "children". I have another list that contains three treeNodes(I will call them pNodes), and I used a for loop to add each of these three pNodes into the list called "children" that belongs to the treeNode that was created as the head.

I tried to debug my code with print statements and found that when I said:
treeNode.children.append(pNode)

treeNode.children[0] will be pNode, but for some reason, pNode.childen[0] also turned into pNode.
pNode.children is originally an empty list before the append, but for some reason a reference to itself was created.
Also, treeNode and pNode are definitely different objects.

Sorry I feel like my explanation is useless without posting the code, but does anyone have any guesses on what the problem may be?

The only language I know is C/C++ and it bugs me how python doesn't have pointers, I just don't know how anything works internally with python. Any help would be appreciated.

Thanks!
RoyGBiv_13
Profile Blog Joined August 2010
United States1275 Posts
Last Edited: 2012-07-17 23:48:47
July 17 2012 23:46 GMT
#2984
Integer promotion is the number one cause of premature deaths in babies as young as –2147483647 years old.
Any sufficiently advanced technology is indistinguishable from magic
acidfreak
Profile Joined November 2010
Romania352 Posts
July 17 2012 23:49 GMT
#2985
On July 18 2012 08:46 RoyGBiv_13 wrote:
Integer promotion is the number one cause of premature deaths in babies as young as –2147483647.


But not 64bit integers!
You can't out-think the swarm, you can't out-maneuver the swarm, and you certainly can't break the morale of the swarm.
tec27
Profile Blog Joined June 2004
United States3702 Posts
July 18 2012 00:56 GMT
#2986
On July 18 2012 07:06 Ultraliskhero wrote:
Hi guys, I have a question about my program in Python.

But first, can someone tell me how to make the block where I can post code properly? Like what tags I need to use? right now I don't even know how to indent, because extra spaces don't show up in my post, so I will not post any code for now.

I know C/C++ but I've just learned a bit of python(Very Noob) and I'm trying to create a tree in python.
It's not a binary tree or anything, and there is no order. Each treeNode simply has a list of treeNodes.

So first I create a treeNode object as the head, and it contains a list called "children". I have another list that contains three treeNodes(I will call them pNodes), and I used a for loop to add each of these three pNodes into the list called "children" that belongs to the treeNode that was created as the head.

I tried to debug my code with print statements and found that when I said:
treeNode.children.append(pNode)

treeNode.children[0] will be pNode, but for some reason, pNode.childen[0] also turned into pNode.
pNode.children is originally an empty list before the append, but for some reason a reference to itself was created.
Also, treeNode and pNode are definitely different objects.

Sorry I feel like my explanation is useless without posting the code, but does anyone have any guesses on what the problem may be?

The only language I know is C/C++ and it bugs me how python doesn't have pointers, I just don't know how anything works internally with python. Any help would be appreciated.

Thanks!

Can't help you with your python, but to post code you can simply surround it with [ code][/code] tags. That will preserve spacing and use monospaced font
Can you jam with the console cowboys in cyberspace?
Ultraliskhero
Profile Joined April 2010
Canada249 Posts
July 19 2012 19:03 GMT
#2987
@tec27 Thanks man! Now I can post some code =D

Ok so I wrote a small python program that demonstrates my problem and was wondering if anyone here can explain to me what is happening in my program.


class testNode:
string = ""

children = []

def __init__(self, _string):
self.string = _string


firstNode = testNode("first")
secondNode = testNode("second")

treeHead = testNode("Head")
treeHead.children.append(firstNode)

print treeHead.children[0].string
print firstNode.children[0].string
print secondNode.children[0].string



So in the program above, I made my treeNode class, and created three objects. I then appended firstNode to treeHead's children list. In the subsequent three print statements. I expect the first one to print "first" because the firstNode was appended to treeHead's children. However, I expect the next two print statements to fail because the children list in firstNode and secondNode should be empty.

My problem is that this is not the case, and that the last two print statements both also prints "first". It seems to me that the list called children in my class was made virtual or something. Anyways can anyone explain to me this behaviour? I'm very noob with python, and only know C/C++

Thanks all!
supereddie
Profile Joined March 2011
Netherlands151 Posts
Last Edited: 2012-07-19 19:37:51
July 19 2012 19:37 GMT
#2988
http://docs.python.org/tutorial/classes.html

You've declared children (and string) as a class member, not an instance member like so:

class testNode:
def __init__(self, _string):
self.string = _string
self.children = []


"Do not try to make difficult things possible, but make simple things simple." - David Platt on Software Design
Ultraliskhero
Profile Joined April 2010
Canada249 Posts
July 20 2012 21:14 GMT
#2989
@supereddie

Thanks man! My program works now. This python syntax looks so weird to me, at a glance it looks like the class has only a constructor and no data members lol.
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
July 20 2012 21:26 GMT
#2990
On July 21 2012 06:14 Ultraliskhero wrote:
@supereddie

Thanks man! My program works now. This python syntax looks so weird to me, at a glance it looks like the class has only a constructor and no data members lol.

That sort of is true, the instance of the class has data members, but the class itself only has a constructor method.
heroyi
Profile Blog Joined March 2009
United States1064 Posts
July 23 2012 21:21 GMT
#2991
I want to get into doing open source projects but can't seem to figure my way around. How does one begin working on an open source project (debugging and patches)? Do you just try to create a project on your own? How do you join/find a project before it begins? Do you need a certain level of expertise to start on one(I am personally a noob at c++)?

I am sorry if I seem ignorant. It seems like an overwhelming topic and I was unlucky to find only vague answers on google :/

tl;dr
I am interested in getting experience in opensource projects for experience and building my portfolio however I am still a "nub" in the programming community in c++. Have explored the concept/topic but still unsure and overwhelmed by the degree of knowledge it seems to require to start debugging/patching/working on an opensource...How do I get rid of that feeling of fear and being useless(I wouldn't even know how to find bugs let alone fix them)?
wat wat in my pants
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
Last Edited: 2012-07-23 21:43:45
July 23 2012 21:43 GMT
#2992
On July 24 2012 06:21 heroyi wrote:
I want to get into doing open source projects but can't seem to figure my way around. How does one begin working on an open source project (debugging and patches)? Do you just try to create a project on your own? How do you join/find a project before it begins? Do you need a certain level of expertise to start on one(I am personally a noob at c++)?

I am sorry if I seem ignorant. It seems like an overwhelming topic and I was unlucky to find only vague answers on google :/

tl;dr
I am interested in getting experience in opensource projects for experience and building my portfolio however I am still a "nub" in the programming community in c++. Have explored the concept/topic but still unsure and overwhelmed by the degree of knowledge it seems to require to start debugging/patching/working on an opensource...How do I get rid of that feeling of fear and being useless(I wouldn't even know how to find bugs let alone fix them)?

I'd say you should just do you own small projects, create tools and various applications to do different things. If you want to help work on Mozilla or something I'd feel you'd need a lot more depth in your programming skillset. You can then release the things you write as open source. That's what I'm doing
snively
Profile Blog Joined August 2011
United States1159 Posts
July 24 2012 20:20 GMT
#2993
lets say i have an integer that stores one of 4 flags. depending on the flag, i want my code to perform 4 different actions

whats the difference between using a switch and an if else if ladder?
is one of them better to use than the other?

thanks in advance.
My religion is Starcraft
Denar
Profile Blog Joined March 2011
France1633 Posts
July 24 2012 20:47 GMT
#2994
On July 25 2012 05:20 snively wrote:
lets say i have an integer that stores one of 4 flags. depending on the flag, i want my code to perform 4 different actions

whats the difference between using a switch and an if else if ladder?
is one of them better to use than the other?

thanks in advance.


It will depend on your language and your compiler, but I guess you ask this in terms of performance ? (Because apart from that, they both behave in the same way).

A switch statement can be optimized by your compiler into a jump table, which turns it into a single compare and a jump (in Assembly), instead of all the successive comparisons that an if/else if ladder creates.
This will happen mostly with simple switch statements with no default: value (and is compiler/language dependent).
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
July 24 2012 21:01 GMT
#2995
On July 25 2012 05:20 snively wrote:
lets say i have an integer that stores one of 4 flags. depending on the flag, i want my code to perform 4 different actions

whats the difference between using a switch and an if else if ladder?
is one of them better to use than the other?

thanks in advance.

When you say flags it sounds like you're talking about a bitfield with setting the bits for flags. In that case you'd need to use the and & operator, and can't really use a switch statement unless you were detecting combinations of bit patterns, instead of just the separate bits.

Nobody here is going to know what is faster, as it depends on the code you write and the compiler you use. You can stress test it yourself to figure out what is faster for you.
snively
Profile Blog Joined August 2011
United States1159 Posts
July 24 2012 21:10 GMT
#2996
Denar and CecilSunkure,
i was trying to ask if either one were better than the other in terms of readability and convention
(as in, using while loops instead of goto statements)
but i guess it doesnt really matter
im not doing anything where i would need to care so much about speed

thanks anyway!
My religion is Starcraft
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
July 24 2012 21:28 GMT
#2997
On July 25 2012 06:10 snively wrote:
Denar and CecilSunkure,
i was trying to ask if either one were better than the other in terms of readability and convention
(as in, using while loops instead of goto statements)
but i guess it doesnt really matter
im not doing anything where i would need to care so much about speed

thanks anyway!

Either one is fine

I myself like switches more.
RoyGBiv_13
Profile Blog Joined August 2010
United States1275 Posts
Last Edited: 2012-07-24 21:34:05
July 24 2012 21:33 GMT
#2998
On July 25 2012 05:20 snively wrote:
lets say i have an integer that stores one of 4 flags. depending on the flag, i want my code to perform 4 different actions

whats the difference between using a switch and an if else if ladder?
is one of them better to use than the other?

thanks in advance.


if flags can coexist, such as READ & WRITE....
+ Show Spoiler +

#define FLAG_ONE
#define FLAG_TWO
#define FLAG_THREE
#define FLAG_FOUR

void do_something(int flags)
{
if(flags | FLAG_ONE)

if(flags | FLAG_TWO)

...
}



Otherwise:

+ Show Spoiler +
use a switch & case statement
Any sufficiently advanced technology is indistinguishable from magic
Frigo
Profile Joined August 2009
Hungary1023 Posts
July 24 2012 22:55 GMT
#2999
It's a good idea to use enums and switch statements because using integers for this job only creates confusion and errors.
http://www.fimfiction.net/user/Treasure_Chest
EscPlan9
Profile Blog Joined December 2006
United States2777 Posts
July 24 2012 23:01 GMT
#3000
^^ Definitely enums and switch statements for conciseness and readability.
Undefeated TL Tecmo Super Bowl League Champion
Prev 1 148 149 150 151 152 1032 Next
Please log in or register to reply.
Live Events Refresh
OSC
13:00
King of the Hill #255
EmpressLilyy42
Liquipedia
CrankTV Team League
11:00
Crank Gathers S4: Group Stage
LiquipediaDiscussion
Replay Cast
10:00
HSC 29: Playoffs
CranKy Ducklings143
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
LamboSC2 324
Livibee 160
RushiSC 14
StarCraft: Brood War
Shuttle 1645
Horang2 561
Hyuk 492
BeSt 414
Zeus 380
actioN 330
Larva 320
EffOrt 311
Light 309
Soma 299
[ Show more ]
Soulkey 274
ggaemo 194
Hyun 175
ZerO 148
Rush 124
Mong 96
hero 94
Sharp 81
[sc1f]eonzerg 50
Free 50
JYJ 49
sSak 47
ToSsGirL 40
Sea.KH 39
soO 36
Hm[arnc] 32
scan(afreeca) 28
sorry 20
Sexy 19
GoRush 16
HiyA 15
IntoTheRainbow 14
910 14
zelot 14
Rock 10
Noble 9
Terrorterran 3
Dota 2
Gorgc8347
qojqva660
XaKoH 534
Counter-Strike
zeus195
kRYSTAL_51
Super Smash Bros
Mew2King84
Other Games
gofns11562
FrodaN3331
singsing1471
hiko542
B2W.Neo458
Lowko390
Hui .154
ToD139
Liquid`VortiX104
KnowMe98
djWHEAT71
ZerO(Twitch)10
Organizations
Other Games
gamesdonequick25201
StarCraft: Brood War
UltimateBattle 22
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 18 non-featured ]
StarCraft 2
• CranKy Ducklings SOOP236
• StrangeGG 65
• mYiSmile126
• IndyKCrew
• sooper7s
• Migwel
• LaughNgamezSOOP
• Kozan
• intothetv
• AfreecaTV YouTube
StarCraft: Brood War
• escodisco4824
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV342
League of Legends
• Nemesis2586
• Jankos2136
• TFBlade748
Upcoming Events
Big Brain Bouts
1h 57m
OSC
7h 57m
Replay Cast
9h 57m
RSL Revival
18h 57m
Serral vs Bunny
ByuN vs GgMaChine
CranKy Ducklings
19h 57m
Afreeca Starleague
19h 57m
Snow vs Jaedong
YSC vs hero
SC Evo League
21h 57m
ByuN vs Classic
Cure vs Solar
IPSL
1d 1h
Dragon vs Ret
RSL Revival
1d 18h
Solar vs Rogue
Maru vs NightMare
Sparkling Tuna Cup
1d 19h
[ Show More ]
IPSL
2 days
Bonyth vs Hawk
GSL
2 days
Replay Cast
3 days
WardiTV Weekly
3 days
The PondCast
4 days
Replay Cast
5 days
CrankTV Team League
5 days
Replay Cast
6 days
CrankTV Team League
6 days
Liquipedia Results

Completed

CSL Season 21: Qualifier 2
HSC XXIX
Eternal Conflict S2 E1

Ongoing

IPSL Spring 2026
Acropolis #4
YSL S3
CSL 2026 Summer (S21)
Escore Tournament S3: W2
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026

Upcoming

ASL Season 22: Wild Card Qualifier
CSLAN 4
Blizzard Classic Cup 2026
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Heroes Pulsing #3
Eternal Conflict S2 E2
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.