鱼C论坛

 找回密码
 立即注册
查看: 2985|回复: 8

大佬,帮忙看看代码

[复制链接]
发表于 2023-2-14 18:22:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目要求:
1.输入的数据比较大小,并求出一个最大整数(四舍五入)
2.整数是几,代表口诀的第几列(不算第一列)。
如果最大整数是4,如下输出

输入
         
三个浮点数,并排空格隔开三个浮点数,并排空格隔开

输出
         
输出
9∗9乘法口诀表。输出9∗9乘法口诀表。
注意:第一列是输入是一个空格

样例
输入:
2.1 3.1 4.1
输出:

1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16

代码:
f=map(float,input().split())
z =max(f)
b=int(z)
for i in range(1,b+1):
    for j in range(1,i+1):
         print('%d*%d=%d\t' %(i,j,i*j),end='')
    print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-14 19:06:46 | 显示全部楼层
本帖最后由 myd0313 于 2023-2-14 19:08 编辑

既然你都说了是四舍五入,那么你照做了吗?

问题在这里:
b=int(z)
int 并不是四舍五入,而是取整,取整就是舍掉小数,因此就不能”五入”了

想要正确的四舍五入,应该用 round 函数:
b=int(round(z,0))
后面的0表示保留0位小数,也就是真正的四舍五入

实在不行就自己写一个四舍五入的代码:
f=map(float,input().split())
z =max(f)
b=z
if b-int(b)>=0.5:
    b=int(z)+1
else:
    b=int(z)
for i in range(1,b+1):
    for j in range(1,i+1):
         print('%d*%d=%d\t' %(i,j,i*j),end='')
    print()
小数部分>0.5就入,否则就舍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-14 20:16:37 | 显示全部楼层
myd0313 发表于 2023-2-14 19:06
既然你都说了是四舍五入,那么你照做了吗?

问题在这里:

这个我知道,我想知道的是那个输出的第一列是空格的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-14 20:53:49 | 显示全部楼层
爱意随风起9306 发表于 2023-2-14 20:16
这个我知道,我想知道的是那个输出的第一列是空格的问题

明白了,加一个空格就好:
f=map(float,input().split())
z =max(f)
b=z
if b-int(b)>=0.5:
    b=int(z)+1
else:
    b=int(z)
for i in range(1,b+1):
    for j in range(1,i+1):
         print(' %d*%d=%d\t' %(i,j,i*j),end='')
    print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-14 21:10:34 | 显示全部楼层
myd0313 发表于 2023-2-14 20:53
明白了,加一个空格就好:

你这个是竖下来,我要的是横向的空格
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-15 07:03:33 | 显示全部楼层
round函数是4舍6入,奇进偶舍,按题目+0.5取整比较合理,或者用比较函数。
f=map(float,input().split())
z =max(f)+0.5
b=int(z)
for i in range(1,b+1):
    for j in range(1,i+1):
         print('%d*%d=%d\t' %(i,j,i*j),end='')
    print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-15 07:06:44 | 显示全部楼层
Type "help", "copyright", "credits" or "license()" for more information.
print(round(5.5))
6
print(round(4.5))
4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-15 07:21:32 From FishC Mobile | 显示全部楼层
爱意随风起9306 发表于 2023-2-14 21:10
你这个是竖下来,我要的是横向的空格

解释一下什么是横向的空格
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-15 12:25:13 | 显示全部楼层
myd0313 发表于 2023-2-15 07:21
解释一下什么是横向的空格

已经解决了,就是先输出一个空格,然后在下一行再输出那个乘法表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-24 15:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表