python基础练习_1

简介:
练习_1

练习题目:
  1 给定一个不超过5位的正整数,判断其有几位
       使用input函数
   2 打印1-10,正反序
   3 计算10以内的偶数(奇数)
   4 给定一个不超过5位的正整数,判断其有几位,依次打印出个位,百位,千位,万位的数字(逆序呢)
   5 打印一个边长为n的正方形
   6 求100内所有奇数的和(2500)
   7 判断学生成绩,成绩等级A-E,其中,90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’
   8 求1到5阶乘之和
   9 给一个数,判断它是否是素数(质数)
        质数: 一个大于1的自然数只能被1和它本身整除

  • 1 给定一个不超过5位的正整数,判断其有几位
           使用input函数

    number=int(input())             #定义整数number
    if number>=100:                 #判断number是否大于100(二分法)
        if number>=10000:
            print('it is five-digit number')
        elif number>=1000:
            print('it is four-digit number')
        else:
            print('it is three-digit number')
    else:
        if number>=10:
            print('it is two-digit number')
        elif number>=0:
            print('it is unidigit')
    
    # 2 
    i=int(input('>>>'))
    count=1
    while True:
        count+=1
        i=i//10        # 将个位去除之后的数赋值给自身,例: i=55//10=5
        if i//10==0:   # 当去除到数字首位时,i为个位,便如: 5//10=0
            break
    print(count)
  • 2 打印1-10,正反序

    #正:
        # 1
        for i in range(10):      
            print(i+1)
    
        # 2
        for i in range(1,11):
            print(i)
    
        # 3 
        i=1
        while True:
            print(i)
            i+=1
            if i==11:
                break


    #反:
        # 1
        for i in range(10,0,-1):
            print(i)
        # 2
        for i in range(1,11):
            print(11-i)
        # 3
        i=10
        while True:
            print(i)
            i-=1
            if i==0:
                break
  • 3 计算10以内的偶数(奇数)

偶数:

#1
    for i in range(0,11,2):
        print(i)
#2
    for i in range(11):
        if i%2==0:
            print(i)
#3
    for i in range(11):
        if i%2!=0:
            continue
        else:
            print(i)

奇数:
#1
    for i in range(1,11,2):
        print(i)
#2
    for i in range(11):
        if i%2!=0:
            print(i)
#3
    for i in range(11):
        if i%2==0:
            continue
        else:
            print(i)

- 4 给定一个不超过5位的正整数,判断其有几位,依次打印出个位,百位,千位,万位的数字(逆序)
#正序:
number=1234             #定义整数number
if number>=100:         #判断整数位数
    if number>=10000:
        digit=5         #位数赋值给digit
    elif number>=1000:
        digit=4
    else:
        digit=3
else:
    if number>=10:
        digit=2
    elif number>=0:
        digit=1  
print("digit is : "digit)  
pre_old=number           #number赋值给pre_old
while digit:             
    unidigit=pre_old%10  #求得个位数的值
    pre_new=pre_old//10  #求得除个位以外其它数的值
    pre_old=pre_new      
    print(unidigit)      #打印个位数的值
    digit-=1

#逆序:
    # 1
number=1234
if number>=100:
    if number>=10000:
        digit=5
    elif number>=1000:
        digit=4
    else:
        digit=3
else:
    if number>=10:
        digit=2
    elif number>=0:
        digit=1
print("digit is : "digit)
while digit:
    midnum=number//10**(digit-1)
    unidigit=midnum%10
    digit-=1
    print(unidigit)
# 2
i=int(input('>>>'))
count=1
num=i       # 保留一份输入的值,防止计算位数将此变量修改
while True:
    count+=1
    i=i//10    
    if i//10==0:
        break
while count:
    tmp=num//(10**(count-1))
    unidigit=tmp%10
    count-=1
    print(unidigit)

#简化正序:
pre_old=2234
digit=0
while True:
    digit+=1                      # if之前加1
    if pre_old%10==pre_old:       # 当求得的值除以10为自身时,表示pre_old为个位数了,即此数的首位
        print(pre_old)
        break
    unidigit=pre_old%10   
    pre_new=pre_old//10   
    pre_old=pre_new       
    print(unidigit)
else:
    print("digit is : "digit)

- 5 打印一个边长为n的正方形
#    边长为5:
for i in range(1,6):
    if i==1 or i==5:
        print('*'*5)                   # 上下边
    else:
        print('*'+' '*(5-2)+'*')       # 5-2为中间的空白部分

#    边长为n:
for i in range(1,n+1):
    print('*'*n) if (i==1 or i==n) else print('*'+' '*(n-2)+'*')

- 6 求100内所有奇数的和(2500)
# 1
sum=0
for i in range(1,101,2):
    sum+=i
else:
    print(sum)

# 2
num=1
sum=0
while num<100:
    sum+=num
    num+=2
else:
    print(sum)

- 7 判断学生成绩,成绩等级A-E,其中,90分以上为&rsquo;A&rsquo;,80-89分为&rsquo;B&rsquo;,70-79分为&rsquo;C&rsquo;,60-69分为&rsquo;D&rsquo;,60分以下为&rsquo;E&rsquo;
score=77
if score>=70:
    if score>=90:
        print('A')
    elif score>=80:
        print('B')
    else:
        print('C')
else:
    print(D) if score>=60 else print(E)

- 8 求1到5阶乘之和
#1
sum=0
for n in range(5,0,-1):        # 此循环提供需要哪些阶乘,并将其累加
    product=1
    for i in range(1,n+1):     # 此循环用于生成阶乘的结果
        product*=i    
    sum+=product
print(sum)

#2
sum=0
multiplier=1
for i in range(1,6):         
    multiplier*=i        # 求单个阶乘
    sum+=multiplier      # 将求得的阶乘累加
else:
    print(sum)

- 9 给一个数,判断它是否是素数(质数)
        质数: 一个大于1的自然数只能被1和它本身整除
 

    print('is prime')



本文转自 撒旦搞时间 51CTO博客,原文链接:http://blog.51cto.com/12074120/1965908,如需转载请自行联系原作者

相关文章
|
5月前
|
Python
Python 练习实例26
Python 练习实例26
|
5月前
|
Python
Python 练习实例25
Python 练习实例25
|
4月前
|
Python
Python推导式:小练习
Python推导式:小练习
|
4月前
|
Python
Python 练习实例35
Python 练习实例35
|
4月前
|
Python
Python 练习实例34
Python 练习实例34
|
5月前
|
Python
Python 练习实例33
Python 练习实例33
|
4月前
|
Python
Python 练习实例36
Python 练习实例36
|
5月前
|
Python
Python 练习实例30
Python 练习实例30
|
5月前
|
Python
Python 练习实例29
Python 练习实例29
|
5月前
|
Python
Python 练习实例21
Python 练习实例21