首頁 > 後端開發 > Python教學 > 日間循環練習

日間循環練習

Barbara Streisand
發布: 2024-12-07 09:30:14
原創
286 人瀏覽過

Day - Looping exercises

這裡有一些針對數字的 while 循環問題可以練習:

基本問題

1.印數字
寫一個程序,使用 while 循環列印從 1 到 10 的數字。

def print_number(no):
    num=1
    while num<=no:
        print(num, end=" ")
        num+=1
print_number(10)

登入後複製
1 2 3 4 5 6 7 8 9 10
登入後複製

2.N 個數字的和
寫一個程序,使用 while 迴圈計算前 NN 個自然數的和。

def sum_of_number(no):
    num=1
    total=0
    while num<=no:
        total=total+num
        num+=1
    return total
no=int(input("Sum of the number:"))
print(sum_of_number(no))
登入後複製
Sum of the number:10
55
登入後複製

3.偶數
寫一個程序,使用 while 迴圈列印 1 到 50 之間的所有偶數。

def print_even_number(no):
    num=2
    while num<=no:
        print(num, end=" ")
        num+=2
print_even_number(50)

登入後複製
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 
登入後複製

4.奇數
寫一個程式來列印 1 到 NN 之間的所有奇數。

def print_odd_number(no):
    num=1
    while num<=no:
        print(num, end=" ")
        num+=2
    return no
no=int(input("Enter the number:"))
print_odd_number(no)
登入後複製
Enter the number:20
1 3 5 7 9 11 13 15 17 19
登入後複製

5.倒數
編寫一個程序,使用 while 迴圈以相反的順序列印從 20 到 1 的數字。

def print_reverse_number(no):
    num=20
    while num>=no:
        print(num, end=" ")
        num-=1
print_reverse_number(1)
登入後複製
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 
登入後複製

中級問題

1.階乘計算
寫一個程序,使用 while 迴圈計算給定數字的階乘。

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 the number:5
120
登入後複製
  1. 數字總和 寫一個程式來計算給定數字的數字總和(例如,123 → 1 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 the number:123
6
登入後複製

3.數數字
編寫一個程式來計算給定數字的位數(例如,12345 → 5 位數字)。

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

登入後複製
Enter the number:12345
5
登入後複製

4.反轉數字
寫一個程式來反轉給定的數字(例如 123 → 321)。

def reverse_number(num):
    reverse=0
    while num>0:
        reverse=reverse*10+num%10
        num=num//10
    return reverse
num=int(input("Enter the number:"))
print(reverse_number(num))
登入後複製
Enter the number:123
321
登入後複製

5.乘法表
寫一個程序,使用 while 迴圈列印給定數字 nn 的乘法表。

def multiply(num):
    no=1
    while no<=15:
        print(no,"*",num,"=",no*num , end="\n")
        no+=1
num=int(input("Enter the number:"))
multiply(num)
登入後複製
Enter the number:12
1 * 12 = 12
2 * 12 = 24
3 * 12 = 36
4 * 12 = 48
5 * 12 = 60
6 * 12 = 72
7 * 12 = 84
8 * 12 = 96
9 * 12 = 108
10 * 12 = 120
11 * 12 = 132
12 * 12 = 144
13 * 12 = 156
14 * 12 = 168
15 * 12 = 180
登入後複製

高階問題

1.檢查回文
寫一個程式來檢查給定的數字是否為回文(例如,121→回文,123→不是回文)。

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 the number:121
Palindrome
Enter the number:123
Not palindrome

登入後複製

*2.找到力量*

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 the base number:2
Enter the power number:5
32
登入後複製

3.阿姆斯壯數
寫一個程式來檢查給定的數字是否為阿姆斯壯數(例如,153 → 13 53 33=15313 53 33=153)。

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,count):
    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,count)

if armstrong_result==num:
    print("Armstrong")
else:
    print("Not armstrong")
登入後複製
Enter the number:123
Not armstrong
Enter the number:153
Armstrong

登入後複製

4.偶數和奇數位置總和:

def sum_of_even_odd(num):
    odd=0
    even=0
    index=0
    while index<len(num):
        digit=int(num[index])
        if index%2==0:
            even=even+digit

        else:
            odd=odd+digit

        index+=1
    return even,odd

num=input("Enter the number:")
even,odd=sum_of_even_odd(num)
print("sum of even number:",even)
print("sum of odd number:",odd) 

登入後複製
Enter the number:12345
sum of even number: 9
sum of odd number: 6

登入後複製

以上是日間循環練習的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板