我正在使用Python 3.5。我使用的是while循環,並改變用戶輸入的它裏面的變量(即已經由用戶定義):如何在while循環結束時定義內部定義的變量
variable = eval(input("[...]"))
while [input isn't what the user is expected to enter]:
variable = eval(input("[Asking to enter a correct input]"))
因此,當用戶輸入正確的值循環結束。然而,由於「變量」是在while循環內部定義的,所以當用戶爲「變量」賦予一個正確的值時,循環結束並且程序的其餘部分考慮「變量」的第一個(和不正確的)值。
我該如何做到這一點,記住的價值是在while循環內定義的值?
它已經按你想要的方式工作了。如果變量是在while循環外部定義的,它將保留while循環的最後一次迭代的值。 –
已經發生,while和for for循環不會在Python中創建新的作用域。 – jonrsharpe
你知道將用戶輸入傳遞給'eval()'是一個_huge_安全問題,對嗎? –