-1

I'm trying to make a random generator of numbers and letters go into one line after being in a string, for example from:

a
b
c

Like so...:
Like so...

To "abc"

I was wondering if there was any way of doing that. The code I use is:

import random
import time
amount = int(input("How many digits do you want the password to be?\n"))
time.sleep(0.5)
print("============================================================\n")
for count in range(amount):
    time.sleep(0.1)
    num = random.randint(1,62)
    if num == 1:
        a = print("1")
    if num == 2:
        print("2")
    if num == 3:
        print("3")
    if num == 4:
        print("4")
    if num == 5:
        print("5")
    if num == 6:
        print("6")
    if num == 7:
        print("7")
    if num == 8:
        print("8")
    if num == 9:
        print("9")
    if num == 10:
        print("a")
    if num == 11:
        print("b")
    if num == 12:
        print("c")
    if num == 13:
        print("d")
    if num == 14:
        print("e")
    if num == 15:
        print("f")
    if num == 16:
        print("g")
    if num == 17:
        print("h")
    if num == 18:
        print("i")
    if num == 19:
        print("j")
    if num == 20:
        print("k")
    if num == 21:
        print("l")
    if num == 22:
        print("m")
    if num == 23:
        print("n")
    if num == 24:
        print("o")
    if num == 25:
        print("p")
    if num == 26:
        print("q")
    if num == 27:
        print("r")
    if num == 28:
        print("s")
    if num == 29:
        print("t")
    if num == 30:
        print("u")
    if num == 31:
        print("v")
    if num == 32:
        print("w")
    if num == 33:
        print("x")
    if num == 34:
        print("y")
    if num == 35:
        print("z")
    if num == 36:
        print("A")
    if num == 37:
        print("B")
    if num == 38:
        print("C")
    if num == 39:
        print("D")
    if num == 40:
        print("E")
    if num == 41:
        print("F")
    if num == 42:
        print("G")
    if num == 43:
        print("H")
    if num == 44:
        print("I")
    if num == 45:
        print("J")
    if num == 46:
        print("K")
    if num == 47:
        print("L")
    if num == 48:
        print("M")
    if num == 49:
        print("N")
    if num == 50:
        print("O")
    if num == 51:
        print("P")
    if num == 52:
        print("Q")
    if num == 53:
        print("R")
    if num == 54:
        print("S")
    if num == 55:
        print("T")
    if num == 56:
        print("U")
    if num == 57:
        print("V")
    if num == 58:
        print("W")
    if num == 59:
        print("X")
    if num == 60:
        print("Y")
    if num == 61:
        print("Z")

This basically creates the string of how many characters you want but I can't get them all on one line.

rfkortekaas
  • 6,049
  • 2
  • 27
  • 34
  • Does this answer your question? [How to print without newline or space?](https://stackoverflow.com/questions/493386/how-to-print-without-newline-or-space) – rfkortekaas Jan 14 '21 at 08:04

1 Answers1

0

You can use the string module.

Example Code:

import string
print(string.ascii_letters+string.digits)

You can then get a certain number of random letters and numbers using this code:

import random
import string
number_of_letters_and_digits = 5
print(''.join([random.choice(string.ascii_letters+string.digits) for i in range(number_of_letters_and_digits)]))

Completed Code:

import random
import string
import time
amount = int(input("How many digits do you want the password to be?\n"))
time.sleep(0.5)
print("============================================================\n")
print(''.join([random.choice(string.ascii_letters+string.digits) for i in range(amount)]))

If you need to use the code that you showed, you could append the letters to the string (replace print("letter") with listName.append("letter")). Then, after the for loop, you could run print(''.join(listName)).

KetZoomer
  • 2,701
  • 3
  • 15
  • 43