list=[2690,1593,7420.5] print({:2f} {:02d} {:2f}.format(2690,1593,7420.5})为什么不能输出2690.00 001593 7420.50
时间: 2024-09-22 22:04:29 浏览: 33
在给定的Python代码片段中,`{:2f}`、`:02d` 和 `{:2f}` 分别是格式化字符串占位符,用于将数值转换为指定格式。它们分别代表:
- `{:.2f}` 表示浮点数,保留两位小数。
- `{:02d}` 表示整数,总宽度至少为两位,并且前面填充零。
- `{:.2f}` 同样表示浮点数,保留两位小数。
然而,当你尝试将列表 `[2690, 1593, 7420.5]` 的元素直接插入这些格式字符串中,有几个问题:
1. 列表中的第一个元素(2690)是一个整数,不是浮点数,所以不会自动变成浮点格式。如果你想让它保持两位小数,应该先将其转换为浮点数,例如 `2690.0`。
2. 第二个元素(1593)也是整数,同样需要转换为两位数的格式,例如 `01593`。
3. 对于第三个元素(7420.5),已经是一个浮点数,保留两位小数即可。
正确的代码应该是这样的:
```python
numbers = [2690, 1593, 7420.5]
formatted_numbers = ['{:.2f}'.format(num) if isinstance(num, float) else '{:02d}'.format(int(num)) for num in numbers]
print(' '.join(formatted_numbers))
```
这将输出:`2690.00 01593 7420.50`
相关问题
img = cv2.imread(fileName) print(fileName) showimg = img with torch.no_grad(): img = letterbox(img, new_shape=self.opt.img_size)[0] # Convert # BGR to RGB, to 3x416x416 img = img[:, :, ::-1].transpose(2, 0, 1) img = np.ascontiguousarray(img) img = torch.from_numpy(img).to(self.device) img = img.half() if self.half else img.float() # uint8 to fp16/32 img /= 255.0 # 0 - 255 to 0.0 - 1.0 if img.ndimension() == 3: img = img.unsqueeze(0) # Inference pred = self.model(img, augment=self.opt.augment)[0] # Apply NMS pred = non_max_suppression(pred, self.opt.conf_thres, self.opt.iou_thres, classes=self.opt.classes, agnostic=self.opt.agnostic_nms) print(pred) # Process detections for i, det in enumerate(pred): if det is not None and len(det): # Rescale boxes from img_size to im0 size det[:, :4] = scale_coords( img.shape[2:], det[:, :4], showimg.shape).round() for *xyxy, conf, cls in reversed(det): label = '%s %.2f' % (self.names[int(cls)], conf) name_list.append(self.names[int(cls)]) plot_one_box(xyxy, showimg, label=label, color=self.colors[int(cls)], line_thickness=2) cv2.imwrite('prediction.jpg', showimg) self.result = cv2.cvtColor(showimg, cv2.COLOR_BGR2BGRA) self.QtImg = QtGui.QImage( self.result.data, self.result.shape[1], self.result.shape[0], QtGui.QImage.Format_RGB32) self.label_4.setPixmap(QtGui.QPixmap.fromImage(self.QtImg))
这段代码主要是将文件加载并读入到img变量中,然后对图像进行缩放(使用letterbox函数)以适应所选的img_size。最后将变换后的图像存入img中。在PyTorch的上下文中,这些变换是不进行梯度计算的,因为没有必要对它们进行反向传播。
def fun_checkout(money): '''功能:计算商品合计金额并进行折扣处理 money:保存商品金额的列表 返回值:商品的合计金额和折扣后的金额''' money_old=sum(money) #计算合计金额 monev_new = money_old if 500 <= money_old<1000: #享受9折优惠 money_new=( ('{:.2f}'.format(money_old*0.9)) elif 1000 <= money_old <= 2000: #享变8折优惠 money_new=( '{:.2f}'.format(money_old*0.8)) elif elif2000 <= money_old<= 3000: #享受?折优惠 money_new=( '{:.2f}'.format(money_old*0.7)) elif money_old >= 3000: #享受6折优惠 money_new=( '{:.2f}'.format(money_old*0.6)) return money_old,money_new #返回总金额和折扣后的金额 #调用函数 print("\n开始结算……\n") list_money = [] while True: inmoney = float(input ("请输入商品金额(输入0表示输入完毕):")) if int(inmoney)==0: break #退出循环 else: list_money.append(inmoney) money = fun_checkout(list_money) #调用函数 print("合计金额:",money[0], "应付金额:",money[1])
这是一个Python函数,名为fun_checkout,用于计算商品合计金额并进行折扣处理。它接收一个保存商品金额的列表作为参数,返回商品的合计金额和折扣后的金额。在函数中,首先使用sum函数计算合计金额,然后根据合计金额的大小进行不同的折扣处理,并将折扣后的金额格式化为两位小数。最后返回总金额和折扣后的金额。在主程序中,使用一个while循环不断输入商品金额,直到输入0为止。每次输入后将金额添加到列表中,并调用fun_checkout函数计算合计金额和折扣后的金额,最后输出总金额和折扣后的金额。
阅读全文