Hi,
I am a noob and I was wondering if there is way to generate random mixture of alphabets and numbers? For example:
1234567890ABCDEFG
or
4BA92ABD293BC3890
the length needs to be 17 characters long.
8 3019
Hi,
I am a noob and I was wondering if there is way to generate random mixture of alphabets and numbers? For example:
1234567890ABCDEFG
or
4BA92ABD293BC3890
the length needs to be 17 characters long.
How about this list comprehension: -
>>> ''.join([chr([random.randrange(48,58),random.randrange(65,91)][random.randint(0,1)]) for x in xrange(17)])
-
'3E4F8F756F584Z8XU'
-
Or in non-comprehension form: -
import random
-
-
rstring = ''
-
for x in xrange(17):
-
rint = random.randint(0,1)
-
if rint:
-
rstring += chr(random.randrange(48,58))
-
else:
-
rstring += chr(random.randrange(65,91))
-
-
>>> rstring
-
'T374TX07KEP031F17'
-
bvdet 2,851
Expert Mod 2GB
Hi,
I am a noob and I was wondering if there is way to generate random mixture of alphabets and numbers? For example:
1234567890ABCDEFG
or
4BA92ABD293BC3890
the length needs to be 17 characters long.
That is easily done with the random.choice() function, a list or string of character choices, and a list comprehension or for loop. Select a character from the choices 17 times, and join or concatenate the characters. Try coding yourself and post back.
Example output from a variable characters, 10 random strings:
>>> characters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789'
>>> j5jSeP4etag0EucN0
BAlxpfUfXnEjBNaL6
dB0GSaCFZMRg2DrqK
uMLz8ivN3cm8k8MCC
b6qHuPAf7ATYsLIjd
cfYmLEfGa66nKZzlJ
ldQd3ouLNSG7ghSu3
vxFn9UHchY8nRe2Mj
QfbuEMtfjRZJuxALZ
18TcORlqnZGrOUUrm
>>>
bvdet 2,851
Expert Mod 2GB
Now that we have some code in this thread, I guess I'll post mine :) - >>> import random
-
>>> import string
-
>>> characters = string.letters+string.digits
-
>>> no_chrs = 17
-
>>> print ''.join([random.choice(characters) for _ in range(no_chrs)])
-
uGAGd5Er82VOFsjwh
-
>>>
thanks guys for the help.
[quote=jlm699]How about this list comprehension: -
>>> ''.join([chr([random.randrange(48,58),random.randrange(65,91)][random.randint(0,1)]) for x in xrange(17)])
-
'3E4F8F756F584Z8XU'
-
I am trying to understand this. So, you have a chr range of 0-9[48,58] and A-Z[65-91], but what is random.randint(0,1) is that step by one? I don't understand this. I like how this is written, but hopefully someone can explain.
what is random.randint(0,1) is that step by one? I don't understand this.
No that is an obfuscated way to randomly choose between one of two choices.
Let's say you have a list tst = ['a', 'b']
Element 0 (tst[0]) is 'a' and element 1 (tst[1]) is 'b'. So let's say instead of storing the list to a variable tst you simply use the list itself: -
>>> ['a', 'b'][0]
-
'a'
-
>>> ['a', 'b'][1]
-
'b'
-
Now if we put random.randint(0,1) in place of the index specifier, we have a randomly chosen element from the list picked -
>>> import random
-
>>> ['a', 'b'][random.randint(0,1)]
-
'b'
-
>>> ['a', 'b'][random.randint(0,1)]
-
'a'
-
>>>
So in my code example I have the random letter and the random number pickers contained in a ad-hoc list [random_letter, random_number] and an element is chosen based on the result of randint(0,1). Does that clear it up a little bit? Unfortunately, this is not the best practice in terms of computing efficiency as a random letter and two random numbers are generated on each iteration (actually three random numbers), whereas bvdet's solution only requires one random number (index of list) to be generated.
bvdet 2,851
Expert Mod 2GB
How about this list comprehension: -
>>> ''.join([chr([random.randrange(48,58),random.randrange(65,91)][random.randint(0,1)]) for x in xrange(17)])
-
'3E4F8F756F584Z8XU'
-
I am trying to understand this. So, you have a chr range of 0-9[48,58] and A-Z[65-91], but what is random.randint(0,1) is that step by one? I don't understand this. I like how this is written, but hopefully someone can explain.
Breaking it up into two parts: -
>>> (chr(random.randrange(48,58)),chr(random.randrange(65,91)))
-
('6', 'O')
-
>>> (chr(random.randrange(48,58)),chr(random.randrange(65,91)))
-
('8', 'Y')
-
>>> random.randint(0,1)
-
-
>>> random.randint(0,1)
-
1
-
>>> (chr(random.randrange(48,58)),chr(random.randrange(65,91)))[random.randint(0,1)]
-
'T'
-
>>> (chr(random.randrange(48,58)),chr(random.randrange(65,91)))[random.randint(0,1)]
-
'R'
-
>>> (chr(random.randrange(48,58)),chr(random.randrange(65,91)))[random.randint(0,1)]
-
'3'
-
>>>
#1 - Create a tuple containing a letter and a number
#2 - Take a slice of the tuple (using random.randint(0,1)) to produce a random letter or number
Thanks that helps. Makes sense now.
No that is an obfuscated way to randomly choose between one of two choices.
Let's say you have a list tst = ['a', 'b']
Element 0 (tst[0]) is 'a' and element 1 (tst[1]) is 'b'. So let's say instead of storing the list to a variable tst you simply use the list itself: -
>>> ['a', 'b'][0]
-
'a'
-
>>> ['a', 'b'][1]
-
'b'
-
Now if we put random.randint(0,1) in place of the index specifier, we have a randomly chosen element from the list picked -
>>> import random
-
>>> ['a', 'b'][random.randint(0,1)]
-
'b'
-
>>> ['a', 'b'][random.randint(0,1)]
-
'a'
-
>>>
So in my code example I have the random letter and the random number pickers contained in a ad-hoc list [random_letter, random_number] and an element is chosen based on the result of randint(0,1). Does that clear it up a little bit? Unfortunately, this is not the best practice in terms of computing efficiency as a random letter and two random numbers are generated on each iteration (actually three random numbers), whereas bvdet's solution only requires one random number (index of list) to be generated.
Sign in to post your reply or Sign up for a free account.
Similar topics
by: Krakatioison |
last post by:
My sites navigation is like this:
http://www.newsbackup.com/index.php?n=000000000040900000
, depending on the variable "n" (which is always a number), it will take me
anywhere on the site......
|
by: Nicholas Geraldi |
last post by:
Im looking for a decent random number generator. Im looking to make a large
number of random numbers (100 or so, if not more) in a short period of time
(as fast as possible).
the function i was...
|
by: Marc Dansereau |
last post by:
Hi all
I am new to this forum and to the c programming language.
If I understand, the random() function in C return numbers that follow a
uniform distribution U(0,1). Can somebody know how to...
|
by: fieldfallow |
last post by:
Hello all,
Is there a function in the standard C library which returns a prime
number which is also pseudo-random?
Assuming there isn't, as it appears from the docs that I have, is there
a...
|
by: Jim Michaels |
last post by:
I need to generate 2 random numbers in rapid sequence from either PHP or
mysql.
I have not been able to do either. I get the same number back several times
from PHP's mt_rand() and from mysql's...
|
by: Olaf \El Blanco\ |
last post by:
How can i generate random words? ('a'..'z')
Is there any function that convert a number to it ascci char?
My english is horrible! Here an example:
function(65)
return 'a';
Thank you!
|
by: Peter Oliphant |
last post by:
I would like to be able to create a random number generator that produces
evenly distributed random numbers up to given number.
For example, I would like to pick a random number less than 100000,...
|
by: badcrusher10 |
last post by:
Hello.
I'm having trouble figuring out what to do and how to do.. could someone explain to me what I need to do in order to work?
THIS IS WHAT I NEED TO DO:
Professor Snoop wants a program...
|
by: pereges |
last post by:
I need to generate two uniform random numbers between 0 and 1 in C ?
How to do it ?
I looked into rand function where you need to #define RAND_MAX as 1
but will this rand function give me ...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
| |