练习_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分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’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,如需转载请自行联系原作者