簡體   English   中英

為什么我不能在同一行識別兩個變量

[英]why I can't Identify two variable at the same line

我想在同一行識別變量 g 和 h

g, h = eval(input("請輸入一個整數:"))

打印(克,小時)

如果您希望用戶輸入更多值,我建議使用列表。

values = []
for x in range(2):
  values.append(input("Enter value:"))

然后您可以迭代列表值。

如果你想避免列表,你可以給每個變量自己的輸入。

g = input("Enter first value:")
h = input("Enter second value:")
print(g,h)

此外,請避免在用戶輸入中使用eval ,因為它可能會在您的代碼中造成一些嚴重的問題。

你好 leena,歡迎來到 Stack Overflow,
正如許多人所指出的,您可以遵循多種路徑來實現您的目標,正如 Python 之禪所說:

應該有一種——最好只有一種——明顯的方法來做到這一點。 盡管這種方式起初可能並不明顯,除非您是荷蘭人。

第一個建議是像@arbyys 所說的那樣拆分輸入:

g = input("Enter an integer: ")
h = input("Enter an integer: ")

盡管它不會是最干燥的解決方案。
如果您更喜歡更實用的方法,您可以“強制”用戶插入兩個輸入,如下所示:

def get_integers():
    return [input("Enter an integer: ") for _ in range(2)]

g,h = get_integers()

至於你的eval,這是一種非常不安全的做法,你必須在你的編程中避免它,如果你使用它來對輸入值進行類型轉換,你知道它們必須是整數,所以你可以通過以下方式轉換一個int :

def get_integers():
    return [int(input("Enter an integer: ")) for _ in range(2)]

g,h = get_integers()

顯然,如果您插入非整數作為輸入,這會引發錯誤。

編輯:

如果你想給不同的變量賦予相同的值,你可以走這條路:

g = h  = int(input("Enter an integer: "))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM