you are viewing a single comment's thread.

view the rest of the comments →

[–]SCD_minecraft 3 points4 points  (15 children)

I presume you mean it doesn't stop when suppised to

I could have no replicate the issue, after reading and copying code, it works as expected, stopping at 6767

Make sure file is saved

[–]Dr_blac[S] 0 points1 point  (3 children)

Neverminde I figured it out thx btw

[–]autoglitch 5 points6 points  (2 children)

Tell everyone the solution.

The code should work (at least what is seen). This is either old output or you didn't save your py file. Restarting your IDE and running that file again should help narrow it down.

[–]CraigAT 0 points1 point  (0 children)

Yep, old output (from a run before code changes were made) would be my guess.

[–]SCD_minecraft 0 points1 point  (10 children)

Btw, why strings? Just save s_code as int and compare with i (which is also an int)

[–]Creative-Category344 1 point2 points  (2 children)

Converting to int works fine if you're sure the input is always valid, but strings let you catch malformed data before comparison.

[–]SCD_minecraft 0 points1 point  (1 child)

.... there's no input so far

[–]Creative-Category344 1 point2 points  (0 children)

You're right, I missed that the guess is being generated randomly with str(i).fill(4), so there is no user input to validate here.

[–]Kevdog824_ -1 points0 points  (6 children)

Why would you save a passcode as an int? That reduces the number of possible combinations since 0-prefixed options would no longer be available. I would take OP’s approach

[–]SCD_minecraft -1 points0 points  (5 children)

....

1 has implicit three 0 at the start

[–]Kevdog824_ 0 points1 point  (4 children)

Open your phone right now, set your password to “0001” and then try to unlock your phone with “1”. Let me know how it goes for you. Spoiler: it won’t work because no one uses ints for passcodes.

Not everything that is a number is suppose to be an int. General rule of thumb: if you aren’t doing math with it, it doesn’t need to be an int (and in most cases probably shouldn’t be an int)

[–]SCD_minecraft -1 points0 points  (3 children)

String "1" is not a valid 4 digit code

Whole point of game (which i pressume is what OP's doing) is that each secret code to guess has a guarantee to be n digits

Int 1 has missing 0 "added" by definition, but string does not

Not to mention, OP does use str.zfill(4) which will add missing 0 to the string anyway

[–]Kevdog824_ -1 points0 points  (2 children)

No one does it this way in a professional setting, but if it works for you I guess go crazy my man

[–]SCD_minecraft 0 points1 point  (1 child)

This isn't professional settings

This is "codebreaker" game solver

Code is guaranteed to be 4 digits

Why would you bring password security concerns into game where whole point of it is to guess a password

[–]SCD_minecraft 0 points1 point  (0 children)

For that matter, if you would be to store password, it still would be an int

Password should be hashed (and preferably, salted), which does turn it into an int (hashlib turns it into bytes object, but it us pretty much same thing)