我希望用户输入1,2或3.但是当我测试并输入1,2或3时,即使条件为False,它仍会运行。我一直在改变条件,但是我似乎无法解决它。任何帮助将不胜感激。
def get_input():
user_input = input("Enter a number 1,2 or 3: ")
while (user_input != 1) and (user_input != 2) and (user_input != 3) :
print('Invaild input!')
user_input = input("Enter a number 1,2 or 3 : ")
答案 0 :(得分:1)
您正在阅读字符串,您应该转换它,或使用字符串。所以条件应该是
output file: test.knit.md
! Undefined control sequence.
l.114 \begin{center}\includegraphics
pandoc: Error producing PDF from TeX source
Error: pandoc document conversion failed with error 43
Execution halted
答案 1 :(得分:1)
因为write.table(colnames(mtcars), "file_cols.csv", row.names = F,col.names = F)
write.table(rownames(mtcars), "file_rows.csv", row.names = F,col.names = F)
返回的值是一个字符串(用引号括起来),而不是整数。
即。
write.table(c(colnames(mtcars),rownames(mtcars)), "file.csv", row.names = F, col.names = F)
与input()
要修复它,请更改此行。
"1"
答案 2 :(得分:0)
您可以尝试将输入数据类型从字符串更改为整数,或者在代码中使用“2”而不是 2
在不改变数据类型的情况下使用它:
def get_input():
user_input = input("Enter a number 1,2 or 3: ")
while (user_input != "1") and (user_input != "2") and (user_input != "3") :
print('Invaild input!')
user_input = input("Enter a number 1,2 or 3 : ")
用于将数据类型更改为 int:
def get_input():
user_input = int(input("Enter a number 1,2 or 3: "))
while (user_input != 1) and (user_input != 2) and (user_input != 3) :
print('Invaild input!')
user_input = int(input("Enter a number 1,2 or 3 : "))