繁体   English   中英

Python:如何将打印语句和输入放在同一行?

[英]Python: How do I put print statement and input on same line?

我怎样才能做到当用户输入它与打印语句在同一行时

例如下面的代码片段。 输出变为:

Enter grade for course 1: A
Enter credits for course 1: 4

现在这就是我得到的:

Enter grade for course 1: 
A
Enter credits for course 1:
4

这是代码片段

for i in range(1,coursenumber+1):
    print("Enter grade for course ", i,":", end =""),
    grade=str(input())
    print("Enter credits for course", i,":", end =" ")
    credit=int(input())
    totalgpa+=translate(credit,grade)
    totalcredit+=credit

您可以在输入函数中编写问题,例如

for i in range(1,coursenumber+1):
    grade=input(f"Enter grade for course {i}:")
    credit=input(f"Enter credits for course {i}:")
    totalgpa+=translate(credit,grade)
    totalcredit+=credit

然后输入提示出现在问题旁边

不要先使用print() ,而是像这样使用input()

question="Enter grade for course" + str(i)
grade=input(question)

question可以是任何question ,您只是不能在input()函数中组合字符串。

您可以利用光标移动来在同一行上打印和输入。 这也将允许您在同一行上进行输入。

main.py
-------
print("something")
res = input("\033[1A \033[9C Write something here:")
            
            #\033[<num>A -> move cursor up 'num' lines
            #\033[<num>C -> move cursor up 'num' columns

output
------
> somethingWrite something here:▒

你现在拥有的应该可以工作。 如果没有,那是因为您没有使用普通控制台进行输出。 也就是说,正如其他答案所建议的那样,您可以通过在对input的调用中包含提示而不是在单独的print调用中做得更好。

唯一的复杂之处在于您需要自己格式化提示,而不是像使用print那样传递单独的参数。 幸运的是,字符串格式化并不难。 我会做这样的事情:

input("Enter grade for course {}: ".format(i))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM