# How do you print a character a random number of times?

Ashley Kin
Ranch Hand
Posts: 36
Hi, I'm trying to write a method that will print a string of a random number of X's (from 5 to 20) on a line, then another number of X's on the next line, etc. until the random number = 16.
I have to use while loops and probably fencepost algorithms. I'm confused with how to print the number of x's the random number of times over and over.
Right now, I'm pretty sure my for loop is wrong or unnecessary.
Any help is greatly appreciated, thanks!

So far, this is my code:

Campbell Ritchie
Sheriff
Posts: 50278
80
And what happens when you run that code? I can only see one error.

Campbell Ritchie
Sheriff
Posts: 50278
80
Make that two errors.

Campbell Ritchie
Sheriff
Posts: 50278
80
three. I ought to learn to read.

Campbell Ritchie
Sheriff
Posts: 50278
80
Four. Most of them standard beginners’ errors. Look at the end of the line beginning for

Ashley Kin
Ranch Hand
Posts: 36
Well, it's only printing one line of x's. I need it to continue to print lines of random numbers of x's until the random number is 16.
I'm thinking I went wrong with the for loop?

Campbell Ritchie
Sheriff
Posts: 50278
80
• 1
Earlier, I wrote:. . . Look at the end of the line beginning for
If I drop any heavier hints, they will go through the floor.

Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15495
43
Ashley Kin wrote:Well, it's only printing one line of x's.
I'm thinking I went wrong with the for loop?

Yes, there's a small problem with big consequences at the end of line 7.

Campbell Ritchie
Sheriff
Posts: 50278
80
Have you really not read that line, AK? Look very carefully. You have even had hints which part of the line to look at first.

By the way: Insert this line before the line saying print("x")If you are lucky, that will bring the other three errors to your notice. If you are unlucky, only two of them. One of those three errors is related to an error I pointed out yesterday in a different thread of yours about a different program.

Harsha Smith
Ranch Hand
Posts: 287

Campbell Ritchie
Sheriff
Posts: 50278
80
• 2
No, no, no, no, no. You, Harsha Smith, are going to deprive AK of any chance of learning if you simply post code like that

Kita Kata
Greenhorn
Posts: 1
Hello members of CodeRanch!

I have the same problem as Ashley. I believe if Ashley runs her code, there will be an infinite loop because of the while loop, it will never equal to 0.

Here is my version of my code so far.

It does print x randomly, however, not like how the exercise wants it.

Here is the expected output:
xxxxxxx
xxxxxxxxxxxxx
xxxxxx
xxxxxxxxxxx
xxxxxxxxxxxxxxxxx

Here is my output:
xxx
xxxxxxxxx
xx
xxxxxxx
xxxxxxxxxxxxx
x
x
x
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxxxx

Can someone please tell me where I've gone wrong? Thank you! I appreciate your help!

[ One-time courtesy moderator edit: added code tags ]

Junilu Lacar
Bartender
Posts: 7797
62
Kita Kata wrote:
It does print x randomly, however, not like how the exercise wants it.

Here is the expected output:
xxxxxxx
xxxxxxxxxxxxx
xxxxxx
xxxxxxxxxxx
xxxxxxxxxxxxxxxxx

Here is my output:
...

Can someone please tell me where I've gone wrong?

Welcome to the Ranch!

Where you have gone wrong is thinking that the "expected output" is literally what your program should output. Since you are using random numbers, then the actual output will randomly vary from the "expected" output. What that really is is an example of what you might reasonably expect from the program. The key thing to note is that all the lines in the output, except for the last one, has less than 16 "x"s.

For future reference, when you are posting code, please UseCodeTags (←click on that; it's a link to a page that tells you how to use code tags). As a first-time courtesy, I will edit your post to add them for you.