输入要求:
一个1-100之间的整数,表示要印刷的小册子的页数(注意页数和纸张的张数不是一个概念,一张纸最多容纳四页) ↵
输出要求:
如果所需的页数不能完全填满一张纸,则打印“空白”一词代替数字。如果某张纸的正面或反面完全为空白,则不要为这张纸的这一面生成输出。输出必须按纸张先后顺序,队一张纸而言,先输出其正面信息,再输出其反面信息。↵
输入输出示例:
若输入“4”,则输出如下↵
第1张纸正面:空白、第1页↵ 第1张纸正面:第4页、第1页↵
第1张纸反面:第2页、空白↵ 第1张纸反面:第2页、第3页↵
第2张纸正面:第14页、第3页↵
第2张纸反面:第4页、第13页↵
第3张纸正面:第12页、第5页↵
第3张纸反面:第6页、第11页↵
第4张纸正面:第10页、第7页↵
第4张纸反面:第8页、第9页↵
import math
num=int(input("请输入要打印的页数:"))#输入所需要的打印页数num
num1=int(num%4) #计算余下的页数num1
num2=int(num/4) #计算所需要的打印纸张数num2
num3=math.ceil(num/4) #利用ceil函数计算出准确的纸张数量
if num==1: #当打印页数为1时,不能输出
print("错误!")
elif num==2: #当打印页数为2时
print("第1张纸正面:空白、第1页")
print("第1张纸反面:空白、第2页")
elif num==3: #当打印页数为3时
print("第1张纸正面:空白、第1页")
print("第1张纸反面:第2页、第3页")
else:
if num1==0: #当打印页数为四的倍数时
j=1
for i in range(1,num2+1):
print(f'第{i}张纸正面:第{j}页、第{num}页')
print(f'第{i}张纸反面:第{j+1}页、第{num-1}页')
num=num-2
j=j+2
elif num1==1: #当余数为1,有三个空白页时
m=5
print(f'第1张纸正面:第{num}页、第1页\n第1张纸反面:第2页、空白')
print("第2张纸正面:空白、第3页\n第2张纸反面:第4页、空白")
for k in range(3,num3+1):
print(f'第{k}张纸正面:第{m}页、第{num-1}页')
print(f'第{k}张纸反面:第{m+1}页、第{num-2}页')
num=num-2
m=m+2
elif num1==2: #当余数为2,有两个空白页时
n=3
print(f'第1张纸正面:空白、第1页\n第1张纸反面:第2页、空白')
for g in range(2,num3+1):
print(f'第{g}张纸正面:第{n}页、第{num}页')
print(f'第{g}张纸反面:第{n+1}页、第{num-1}页')
num=num-2
n=n+2
elif num1==3: #当余数为三,有一个空白页时
x=3
print(f'第1张纸正面:空白、第1页\n第1张纸反面:第2页、第{num}页')
for l in range(2,num3+1):
print(f'第{l}张纸正面:第{x}页、第{num-1}页')
print(f'第{l}张纸正面:第{x+1}页、第{num-2}页')
num=num-2
x=x+2