簡體   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