Hello! 欢迎来到小浪资源网!

日间循环练习


日间循环练习

这里有一些针对数字的 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=" ")         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  

相关阅读