如何在Python中重置输入?

-2 投票
4 回答
7034 浏览
提问于 2025-04-18 17:11

如何重置输入呢?
假设代码是:

input_x = raw_input("insert #")
print input_x + 1
print input_x

当执行到第三行时,我希望它显示 insert #,这样就形成一个循环。请问我该怎么做呢?

4 个回答

0

使用一个 while 循环

while True:    # infinite loop
    input_x = raw_input("insert #")
    print input_x + 1
    print input_x
    if some_condition: #you should put some_condition for break the loop
        #because it will be an infinite loop
        break #break the loop
0

在编程中,有时候我们会遇到一些问题或者错误,这时候我们可以去网上的技术论坛,比如StackOverflow,去寻找解决方案或者向其他人提问。在这些论坛上,很多人会分享他们的经验和解决办法,帮助我们更好地理解问题。

例如,如果你在写代码的时候遇到了一个错误,你可以把这个错误的信息发到论坛上,其他有经验的人可能会给你一些建议,告诉你怎么修复这个问题。这样,你不仅能解决眼前的问题,还能学到一些新的知识,以后遇到类似的情况时就能更快地解决了。

总之,StackOverflow是一个很好的学习和交流的平台,适合所有想要提高编程技能的人。

while True:
     input_x = raw_input("insert a number or write 'end' to exit: ")
     if input_x=='end': break
     print int(input_x) + 1
     print input_x
1

像这样吗?

while True:
    input_x = raw_input("insert #")
    print int(input_x) + 1
    print input_x

当然,这样会造成一个无限循环,所以如果你在终端运行这个程序,等你觉得够了就可以按 CTRL + C 来退出它。(或者在你的循环里加一个 break 来跳出循环。)

你还需要注意以下几点:从 raw_input 获取的输入类型是 string(字符串)。所以你要么把 input_x 转换成 int(整数),要么把 + 1 转换成 + str(1)(这样会把你输入的内容和字符 '1' 连接起来,比如如果你输入的是 abc,那么 print input_x + str(1) 会输出 abc1)。

2

使用一个 while 循环:

while True:
    input_x = int(raw_input("insert # or 0 to quit"))
    if input_x == 0: # break loop if user enters 0
        print "Goodbye"
        break
    print input_x + 1
    print input_x

使用 int(raw_input("插入数字#")) 来把输入的字符串转换成整数。这里假设你只输入整数,这样做是合理的,因为你要对每个输入的值加 1raw_input 返回的是一个字符串,所以如果你输入 123 而不转换成 int,它实际上是一个字符串 '123'

这个循环会一直重复,直到我们添加一个 break 条件。当用户输入 0 时,我们就会退出这个循环。

撰写回答