DEV Community

Guru prasanna
Guru prasanna

Posted on

1

Python Day - 11 Looping-Examples and Tasks

Task:1

#Print Numbers
#Write a program to print numbers from 1 to 10 using a while loop.

def print_numbers(num):
    no=1
    while no<=num:
        print(no,end=' ')
        no+=1
print_numbers(10)

Enter fullscreen mode Exit fullscreen mode

Output:

1 2 3 4 5 6 7 8 9 10 
Enter fullscreen mode Exit fullscreen mode

Task:2

#Sum of N Numbers
#Write a program to calculate the sum of the first NN natural numbers using a while loop.

def nat_num(N):
    sum = 0
    natural_no = 1

    while natural_no <= N:
        sum += natural_no
        natural_no += 1
    return sum
N = int(input("Enter the no: "))
print(nat_num(N))
Enter fullscreen mode Exit fullscreen mode

Output:

Enter the no: 10
Sum of 10 natural numbers are 55

Enter fullscreen mode Exit fullscreen mode

Task:3

#Find even numbers between 1 to 50

def even_number(num):
    no=2
    while no<=num:
        print(no, end=" ")
        no+=2
num=int(input("Enter the number: "))
even_number(num)
Enter fullscreen mode Exit fullscreen mode

Output:

2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50
Enter fullscreen mode Exit fullscreen mode

Task:4

#Find odd numbers between 1 and NN

def odd_number(num):
    no=1
    while no<=num:
        print(no, end=" ")
        no+=2

num=int(input("Enter the number:"))
odd_number(num)

Enter fullscreen mode Exit fullscreen mode

Output:

Enter the number:15
1 3 5 7 9 11 13 15
Enter fullscreen mode Exit fullscreen mode

Task:5

#Multiplication table of number NN
#NN-2

no=1
while no<=10:
    print(f'{no}*2={no*2}')
    no+=1 
Enter fullscreen mode Exit fullscreen mode

Output:

1*2=2
2*2=4
3*2=6
4*2=8
5*2=10
6*2=12
7*2=14
8*2=16
9*2=18
10*2=20

Enter fullscreen mode Exit fullscreen mode

Factorial:

Write a program to calculate the factorial of a given number using a while loop.

Case-1

no = 1
factorial = 1

factorial = factorial * no #1
no = no+1 #2
factorial = factorial * no #2
no = no+1 #3
factorial = factorial * no #6
no = no+1 #4
factorial = factorial * no #24
no = no+1 #5
factorial = factorial * no #120
print(factorial)
Enter fullscreen mode Exit fullscreen mode

Case-2

def find_factorial(num):
    no=1
    factorial=1
    while no<=num:
        factorial=factorial*no
        no+=1
    return factorial

num=int(input("Enter the number:"))
print(find_factorial(num))
Enter fullscreen mode Exit fullscreen mode

For scenarios output will be same
Output:

Enter the number:5
120

Enter fullscreen mode Exit fullscreen mode

Sum of digits:
Find the sum of the digits of a given number (e.g., 123 → 1+2+3=61+2+3=6).

def sum_of_digits(num):
    sum=0
    while num>0:
        sum=sum+num%10
        num=num//10
    return sum
num=int(input("Enter the number:"))
print(sum_of_digits(num))
Enter fullscreen mode Exit fullscreen mode

Output:

Enter the number:123
6
Enter fullscreen mode Exit fullscreen mode

Count Digits

To count the number of digits in a given number (e.g., 12345 → 5 digits).

def count_of_digits(no):
    count=0
    while no>0:
        no=no//10
        count+=1
    return count
no=int(input("Enter the number:"))
print(count_of_digits(no))
Enter fullscreen mode Exit fullscreen mode

Output:

Enter the number:12345
5
Enter fullscreen mode Exit fullscreen mode

Reverse numbers
To reverse a number

def reverse_no(num):
    reverse = 0
    while num>0:
        reverse = (reverse*10) + num%10
        num = num//10
    return reverse


print(reverse_no(1234)) 
Enter fullscreen mode Exit fullscreen mode

Output:

Enter the number:12345
54321
Enter fullscreen mode Exit fullscreen mode

Check Palindrome

check if a given number is a palindrome (e.g., 121 → palindrome, 123 → not a palindrome).

def palindrome(num):
    count=0
    while num>0:
        count=count*10+num%10
        num=num//10
    return count
num=int(input("Enter the number:"))
result=palindrome(num)
if result==num:
    print("Palindrome")
else:
    print("Not palindrome")
Enter fullscreen mode Exit fullscreen mode

Output:

Enter the number:121
Palindrome
Enter the number:123
Not palindrome
Enter fullscreen mode Exit fullscreen mode

Find power

def find_power(base,power):
    result=1
    while power>=1:
        result=result*base
        power-=1
    return result
base=int(input("Enter the base number:"))
power=int(input("Enter the power number:"))
result=find_power(base,power)
print(result)
Enter fullscreen mode Exit fullscreen mode

Output:

Enter the base number:5
Enter the power number:2
25
Enter fullscreen mode Exit fullscreen mode

Armstrong Number

Image description

Example:

def count_of_digits(num):
    count=0
    while num>0:
        num=num//10
        count+=1
    return count

def find_power(base,power):
    result=1
    while power>=1:
        result=result*base
        power-=1
    return result

def find_armstrong(num):
    armstrong=0
    while num>0:
        rem=num%10
        result= find_power(rem,count)
        armstrong=armstrong+result
        num=num//10
    return armstrong


num=int(input("Enter the number:"))
count=count_of_digits(num)
armstrong_result=find_armstrong(num)

if armstrong_result==num:
    print("Armstrong")
else:
    print("Not armstrong")
Enter fullscreen mode Exit fullscreen mode

Output:

Enter the number:135
Not armstrong
Enter the number:153
Armstrong
Enter fullscreen mode Exit fullscreen mode

Reinvent your career. Join DEV.

It takes one minute and is worth it for your career.

Get started

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay