zhongguozkh 发表于 2020-9-10 10:22:00

铁子们,这是什么原理啊

本帖最后由 heidern0612 于 2020-9-10 10:26 编辑

class R():
        """餐馆的类"""
        def __init__(self,name,dishes):
                self.name = name.title()
                self.dishes = dishes
                self.number_served = 0
        def get_info(self):
                print("我们是" +self.name+ "餐馆。""\n擅长" +self.dishes+ "菜式")
        def set_number_served(self,number_served):
                self.number_served = str(number_served)
                print("共有 " +self.number_served+ " 人在餐馆用餐")
        def increment_number_served(self,number_served):
                self.number_served += str(number_served)
                print("餐馆每天可能接待的就餐人数:" + self.number_served)

r1.set_number_served(999)
共有 999 人在餐馆用餐

r1.increment_number_served(1)
餐馆每天可能接待的就餐人数:9991

zhongguozkh 发表于 2020-9-10 10:24:03

知道怎么改,但是不知道错的原因是什么,原理又是啥

heidern0612 发表于 2020-9-10 10:28:02

本帖最后由 heidern0612 于 2020-9-10 10:33 编辑

不就是个字符串拼接吗?还能有啥原理....

为啥你数字要转换成字符串拼接呢?

“999”+“1”,结果就是“9991”了。

风过无痕1989 发表于 2020-9-10 11:07:33

你那个语言我不懂,我只知道C语言使用 strcat() 函数将用户输入的两个字符串拼接在一起。

#include <stdio.h>
#include <string.h>
int main(){
    char str1 = { 0 };
    char str2 = { 0 };
    gets(str1);
    gets(str2);
    strcat(str1, str2);
    puts(str1);
    return 0;
}

CH10 发表于 2020-9-10 11:47:27

本帖最后由 CH10 于 2020-9-10 11:49 编辑


def set_number_served(self,number_served):
                self.number_served = number_served
                print("共有 " +str(self.number_served)+ " 人在餐馆用餐")
def increment_number_served(self,number_served):
                self.number_served += number_served
                print("餐馆每天可能接待的就餐人数:" + str(self.number_served))


你先把变量搞成字符串干嘛,当然是最后print的时候再转成字符串啊

zhongguozkh 发表于 2020-9-10 22:30:41

{:10_245:}我一直认为这是字符串转数字呢

zhongguozkh 发表于 2020-9-10 22:33:25

破案了{:10_247:},至于为什么先转,如果str()是字符串转数字的话,就省事又好用{:10_254:}
页: [1]
查看完整版本: 铁子们,这是什么原理啊