DEV Community

Lakshmi Pritha Nadesan
Lakshmi Pritha Nadesan

Posted on

Day 13 - Looping and Puzzle program

1.Collatz sequence
Write a program that prints the Collatz sequence for a given number until it reaches 1.

Rule:

    If the number is even: n=n/2
    If the number is odd: n=3n+1.

Enter fullscreen mode Exit fullscreen mode
def even_odd(no):

    while no>0:
        num=no%10
        if num%2==0:
            even=num/2
            print(even)
        else:
            odd=3*num+1
            print(odd)

        no=no//10


no=int(input("Enter the number:"))
even_odd(no)
Enter fullscreen mode Exit fullscreen mode
Enter the number:12345
16
2.0
10
1.0
4
Enter fullscreen mode Exit fullscreen mode

*2.Find all digits in a number are equal
*

no = int(input("Enter no. "))   
equal = no%10
while no>0:
    rem = no%10 
    if rem == equal:
        equal=rem
    else:
        print("All Numbers are not equal")
        break
    no//=10 
else:
    print("All numbers are equal")
Enter fullscreen mode Exit fullscreen mode
Enter no. 1234
All Numbers are not equal
Enter no. 4444
All numbers are equal
Enter fullscreen mode Exit fullscreen mode

Puzzle Program:

1.In 4 hours, the horse covers a total of 4 feet, as it runs 1 foot in the first hour, 2 feet in the second hour, 3 feet in the third hour, and 4 feet in the fourth hour.
If the horse takes 12 steps to cover 1 foot, and it runs a total of 10 feet in 4 hours, the total number of steps the horse takes is:

10 feet×12 steps per foot=120 steps.

In 4 hours, the horse covers 10 feet by taking 120 steps.

total = 0
steps = 12
ft = 1
while ft<=4:
    total = total + steps*ft 
    ft+=1
print(total)
Enter fullscreen mode Exit fullscreen mode
120
Enter fullscreen mode Exit fullscreen mode

2.Each day, the frog climbs 1 foot but slides back 0.5 foot at the end of the day.
Thus, the gain per day is 1−0.5=0.5foot.
However, on the day the frog reaches or exceeds 30 feet, it will not slide back.
Find out how many days frog takes to reach the top.

height = 30
up = 1
down = 0.5
total = 0
days = 0
while total<height:
    total = total + up - down 
    days+=1

print(days)
Enter fullscreen mode Exit fullscreen mode
60
Enter fullscreen mode Exit fullscreen mode

3.If a clock is delayed by 5 minutes initially and further delays by 5 minutes every hour.
How many minutes it will be delay from 8 am to 1pm.

morning = 8
afternoon = 13
difference = 5
late = 0
while difference>0:
    late = late + 5
    difference-=1
print(late)

Enter fullscreen mode Exit fullscreen mode
25    
Enter fullscreen mode Exit fullscreen mode

4.Convert railway time to normal time and normal time to railway time.
Railway Time to normal time:
15:09 - 3:09
Normal Time to Railway Time:
3:09 - 15:09

time=float(input("Enter the time:"))
if time<=12:
    calculate_time=time+12
    print("time:",calculate_time)

else:
    calculate_time=12-time
    print("time:",round(-calculate_time,2))
Enter fullscreen mode Exit fullscreen mode
Enter the time:15.09
time: 3.09
Enter the time:3.09
time: 15.09

Enter fullscreen mode Exit fullscreen mode

Top comments (0)