如何自动将if语句结果赋值给变量?书籍页码位数计算代码优化
解决自动计算书籍总页码位数的问题
首先,你原来的代码里,num_one_digit_pages这类变量一开始是固定值,但实际要根据总页数动态调整才能正确赋值。下面是修正后的代码,直接把计算结果赋值给变量,还能算出总页码位数:
total_number_of_pages_in_the_book = 366 # 初始化各区间页码数量为0 num_one_digit_pages = 0 num_two_digit_pages = 0 num_three_digit_pages = 0 # 根据总页数动态计算各区间页码数 if total_number_of_pages_in_the_book <= 9: num_one_digit_pages = total_number_of_pages_in_the_book elif total_number_of_pages_in_the_book <= 99: num_one_digit_pages = 9 num_two_digit_pages = total_number_of_pages_in_the_book - 9 else: num_one_digit_pages = 9 num_two_digit_pages = 90 num_three_digit_pages = total_number_of_pages_in_the_book - 99 # 计算总页码位数 total_digits = num_one_digit_pages * 1 + num_two_digit_pages * 2 + num_three_digit_pages * 3 # 打印结果验证 print("一位数页码数量:", num_one_digit_pages) print("两位数页码数量:", num_two_digit_pages) print("三位数页码数量:", num_three_digit_pages) print("总页码位数:", total_digits)
逻辑说明:
- 如果总页数≤9:所有页码都是一位数,直接把总页数赋值给
num_one_digit_pages,其他区间为0。 - 如果总页数在10-99之间:一位数页码固定是9(1-9),两位数页码是总页数减去9(对应10到总页数的数量)。
- 如果总页数≥100:一位数9个,两位数90个(10-99),三位数页码是总页数减去99(对应100到总页数的数量)。
这样调整后,各个变量会根据总页数得到正确的值,之后就能轻松算出总页码位数了。
内容的提问来源于stack exchange,提问作者Cat
相关产品推荐
相关产品推荐

