【1】 (程序設計)輸入一個正整數,輸出它的因子分解式。如輸入132,則輸出132=122311
n=int(input())
print(1,end='')
for i in range(2,n+1):
while(n%i==0):
n=n/i
print('*',i,sep='',end='')
【2】 (程序設計)用戶輸入一行字符串,統計並輸出其中空格、數字、英文字母、其他字符的個數,輸入輸出格式如下:
例如:
請輸入字符串:Version 3.1415
輸入的字符串有1個空格,5個數字,7個英文字母,1個其它字符
str=input()
ans_space=0
ans_num=0
ans_other=0
ans_alphabet=0
for s in str:
if('0'<=s<='9'):
ans_num=ans_num+1
elif('a'<=s<='z' or 'A'<=s<='Z'):
ans_alphabet=ans_alphabet+1
elif(s==' '):
ans_space=ans_space+1
else:
ans_other=ans_other+1
print('輸入的字符串有{}個空格,{}個數字,{}個英文字母,{}個其它字符'.format(ans_space,ans_num,ans_alphabet,ans_other))
【3】 (程序設計)輸入兩個正整數,輸出這兩個數之間有多少個數含有數字8。比如輸入170和200,則在170和200之間有12個數含有8,則輸出12。
def check(x):
if x%10==8:
return 1
if x==0:
return 0
return check(x//10)
l=int(input('請輸入第一個正整數:'))
r=int(input('請輸入第二個正整數:'))
ans=0
for i in range(l,r+1):
ans=ans+check(i)
print('{}和{}之間有{}個數含有數字8'.format(l,r,ans))
【4】 (程序設計)編寫程序,輸入正整數a和b,產生a個范圍在[100,999]的隨機整數。輸出這a個隨機數(每行5個,數據之間用一個空格隔開),找出能被b整除的數據個數。注意:不能使用列表、元組、集合、字典等組合數據類型。
import random
a=int(input('請輸入整數a:'))
b=int(input('請輸入整數b:'))
ans=0
for i in range(a):
x=random.randint(100,999)
print(x,end=' ')
if(i%5==4):
print('')
if(x%b==0):
ans=ans+1
print('總共{}個數能被{}整除'.format(ans,b))
【5】 (程序設計)設計一個函數 func(a),它接受一個正整數a,函數返回這個數字每個位上數字的和(函數內不能有input,print語句,不能使用global語句),例如,func(123),返回6,因為1+2+3=6。
def func(x):
if(x==0):
return 0
return x%10+func(x//10)
n=int(input('請輸入一個整數:'))
print('它的各位數字之和為',func(n),sep='')
【6】 (程序設計)設計一個函數func(s),它接受一個字符串變量s,返回其中大寫字母的個數。
def func(str):
ans=0
for s in str:
if('A'<=s<='Z'):
ans=ans+1
return ans
str=input()
print(func(str))
【7】 (程序設計)定義一個函數,該函數返回參數字符串中包含多少個數字、多少個英文字母。
def get(str):
ans_num=0
ans_alphabet=0
for s in str:
if '0'<=s<='9':
ans_num=ans_num+1
if 'a'<=s<='z' or 'A'<=s<='Z':
ans_alphabet=ans_alphabet+1
return [ans_num,ans_alphabet]
str=input()
ret=get(str)
print('字符串里有{}個數字,{}個字母'.format(ret[0],ret[1]))
【8】 (程序設計)區間素數和。輸入兩個正整數m,n ( m < n),編寫程序求[m,n]之間的所有素數的和。要求定義函數def IsPrime(m)判斷整數m是否是素數,如果是素數返回True否則返回False。
def IsPrime(m):
i=2
while i*i<=m:
if(m%i==0):
return 0
i=i+1
return 1
m=int(input('請輸入整數m:'))
n=int(input('請輸入整數n:'))
ans=0
for i in range(m,n+1):
if(IsPrime(i)):
ans=ans+i
print('范圍在[{},{}]的素數和為{}'.format(m,n,ans))