分解质因数
题目 将一个整数分解质因数。例如:输入90,打印出90=233*5
# 输入一个整数
target=int(input('输入一个整数:'))
# 打印输入的整数
print(target,'= ',end='')
# 如果输入的整数小于0,则将其转换为正数
if target<0:
target=abs(target)
# 打印负号
print('-1*',end='')
# 初始化标志位
flag=0
# 如果输入的整数小于等于1,则直接打印该整数
if target<=1:
print(target)
# 将标志位设置为1
flag=1
# 循环,直到标志位为1
while True:
# 如果标志位为1,则跳出循环
if flag:
break
# 从2开始循环,直到输入的整数
for i in range(2,int(target+1)):
# 如果输入的整数能被i整除,则打印i
if target%i==0:
print("%d"%i,end='')
# 如果输入的整数等于i,则将标志位设置为1
if target==i:
flag=1
break
# 打印乘号
print('*',end='')
# 将输入的整数除以i
target/=i
# 跳出循环
break
为了继续寻找下一个因数,需要将target更新为target/i。这样,下一个循环就可以检查新的target是否可以被其他因数整除。
因此,target /= i这一步是因数分解过程中的关键步骤,用于更新target的值,使其逐渐接近1,最终完成因数分解。
分数归档
题目 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示
points=int(input('输入分数:'))
if points>=90:
grade='A'
elif points<60:
grade='C'
else:
grade='B'
print(grade)
输出日期
题目 使用 datetime 模块
# 导入datetime模块
import datetime
# 打印当前日期
print(datetime.date.today())
# 打印指定日期
print(datetime.date(2333,2,3))
# 打印当前日期,格式为dd/mm/yyyy
print(datetime.date.today().strftime('%d/%m/%Y'))
# 定义一个日期
day=datetime.date(1111,2,3)
# 将日期的年份加22
day=day.replace(year=day.year+22)
# 打印修改后的日期
print(day)
字符串构成
题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
# 输入字符串
string=input("输入字符串:")
# 定义字母、数字、空格和其他字符的计数器
alp=0
num=0
spa=0
oth=0
# 遍历字符串中的每个字符
for i in range(len(string)):
# 如果字符是空格,则空格计数器加1
if string[i].isspace():
spa+=1
# 如果字符是数字,则数字计数器加1
elif string[i].isdigit():
num+=1
# 如果字符是字母,则字母计数器加1
elif string[i].isalpha():
alp+=1
# 如果字符不是空格、数字或字母,则其他字符计数器加1
else:
oth+=1
# 输出空格、数字、字母和其他字符的计数结果
print('space: ',spa)
print('digit: ',num)
print('alpha: ',alp)
print('other: ',oth)
复读机相加
题目 求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
# 被加数字
a=input('被加数字:')
# 加几次
n=int(input('加几次?:'))
# 结果
res=0
# 循环n次
for i in range(n):
# 将被加数字加到结果中
res+=int(a)
# 将被加数字的第一个数字加到被加数字的末尾
a+=a[0]
# 输出结果
print('结果是:',res)