我的python笔记(2026.02.07)-10
#第四十一题#year = int(input("输入一个年份: "))
#if (year % 4) == 0:
# if (year % 100) == 0:
# if (year % 400) == 0:
# print(year,"是闰年") # 是整百年但能被400整除的
# else:
# print(year,"不是闰年")
# else:
# print(year, "是闰年") # 不是整百年但能被4整除的
#else:
# print(year,"不是闰年")
#第四十二题
#tabby_cat = "\t我被缩进了。"
#persian_cat = "我被拆分\n成两行了。"
#backslash_cat = "我是 \\ 一只 \\ 猫。"
#fat_cat = """
#我要列一个清单:
#\t* 猫粮
#\t* 小鱼
#\t* 猫薄荷\n\t* 草
#"""
#print(tabby_cat)
#print(persian_cat)
#print(backslash_cat)
#print(fat_cat)
#第四十三题
for mun in range(1, 10):
for j in range(1,mun+1):
print(mun, "x" ,j ,"=" ,mun * j ,end=' ')
print("\n")
#第四十四题
#counts = 3
#while counts > 0:
# temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
# guess = int(temp)
# if guess == 8:
# print("你是小甲鱼心里的蛔虫嘛?!")
# print("哼,猜中了也没奖励!")
# else:
# if guess < 8:
# print("小啦~")
# else:
# print("大啦~")
# counts = counts - 1
#第四十五题
#height = float(input('Height(m):')) #输入身高
#weight = float(input('Weight(kg):')) #输入体重
#BMI = (weight) / ((height) ** 2) #BMI计算公式
#if BMI < 18:
# print('1')
#elif BMI <= 20:
# print('2')
#elif BMI <= 22:
# print('3')
#elif BMI <= 24:
# print('4')
#elif BMI <= 26:
# print('5')
#elif BMI <= 28:
# print('6')
#else:
# print('7')
你的 Python 笔记很棒!第四十三题的代码是想打印九九乘法表,但输出格式不太对,行间距太大了。
问题出在哪?
主要是这行代码:print("\\n")
print() 函数本身就会在结尾自动换行。你又让它打印了一个换行符 \\n,所以每行结束后实际上换了两次行,导致行距过大。
如何改进?
这里有几个方案,可以让乘法表更美观:
[*]方案一:直接使用 print()
这是最简单的修改,去掉多余的换行符。
for mun in range(1, 10):
for j in range(1, mun+1):
print(mun, "x", j, "=", mun * j, end=' ')
print()# 这里只用一个 print() 来换行
[*]方案二:使用格式化字符串对齐
为了让每一列都对齐,看起来更整齐,可以使用 f-string 进行格式化。
for i in range(1, 10):
for j in range(1, i+1):
print(f'{i}x{j}={i*j:<2}', end=' ')# :<2 让结果占2个字符宽度,左对齐
print()# 换行
关于 print 和换行的解释:
[*] 当 print() 不指定 end 参数时,默认以换行符结尾(相当于 end='\\n')。
[*] 你在内层循环中设置了 end=' ',所以打印每个算式后不会换行,而是加一个空格。
[*] 外层循环的 print("\\n") 执行了两次换行(print 自带一次,字符串里有一次),所以行距加倍。
按照方案一修改后,你的乘法表输出就会变得紧凑整齐了!继续加油!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 加一些自己的学习心得更好~
页:
[1]