日 - 循环练习
1.打印此号码:
1 2 3 4 5 5 4 3 2 1
no = 1top = 5direction = 1while no>0: print(no,end= ' ') if no == top: print(no,end=' ') direction = -1 no = no + direction
1 2 3 4 5 5 4 3 2 1
2.猜数字游戏:
import randomsystem_no = random.randint(1,20)while true: guess = int(input("enter the no. ")) if guess == system_no: print("hurray! i got the number!! ") break elif guess > system_no: print("your guess is too high! ") else: print("your guess is too low! ")
enter the no. 15your guess is too low! enter the no. 17your guess is too low! enter the no. 19hurray! i got the number!!
3.找出数字中最大的数字
no = int(input("enter no. "))max_no = 0while no>0: rem = no%10 if rem>max_no: max_no = rem no//=10print(max_no)
enter no. 23577
4.找出数字中最小的数字
no = int(input("enter no. "))min_no = 9while no>0: rem = no%10 if rem<min_no: min_no = rem no//=10print(min_no)
enter no. 23572
5.collatz 序列
编写一个程序,打印给定数字的 collatz 序列,直到达到 1。
规则:
if the number is even: n=n/2if the number is odd: n=3n+1.
def even_odd(no): while no>0: num=no%10 if num%2==0: even=num/2 else: odd=3*num+1 no=no//10 return even,oddno=int(input("enter the number:"))even,odd=even_odd(no)print("even number:",even)print("odd number:",odd)
Enter the number:12even number: 1.0odd number: 4