首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中的scanf()生产问题

Python中的scanf()生产问题
EN

Stack Overflow用户
提问于 2020-09-14 08:26:54
回答 1查看 69关注 0票数 0

我想试着把一种语言的功能写成另一种语言。我选择C到Python,下面是我迄今为止所做的工作。

代码:

代码语言:javascript
复制
def printf(text, *args):
    print(text % args, end = '')

def scanf(text, *args):
    args = input(text % args)
    return args

name = None
scanf("What's your name? %s", name)
printf("Hello, %s.\n", name)

结果:

代码语言:javascript
复制
What's your name? NoneBoy
Hello, Boy.

对于这个问题,我有3个问题:

  1. scanf实际上没有打印要输入的变量。
  2. 我必须实现一个没有值的变量,但是与C不同,您可以只编写int result;,您必须将它写入result = None,而我的函数也会打印None
  3. 从未返回任何值。

有什么解决办法可以用来解决这些问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-14 09:45:27

您可以使用静态变量来更新函数中的任何值。

代码语言:javascript
复制
class Example:
    name = "None"

def printf(text, args):
    print(text % args, end = '')

def scanf(text, args):
    Example.name = input(text)

scanf("What's your name? ", name)
printf("Hello, %s.\n", Example.name)

还有其他预构建函数可供使用。这是用户定义函数的示例。如果您想使用预定义的函数。请让我知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63880698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档