我知道这个问题可能看起来很愚蠢,但实际上我并没有得到逻辑。 这很简单,我想做一个写或读文件的程序。 所以我要求这个人输入'w'或'r'。 只要不是'w'或'r'的输入我一直在询问。 下面的代码工作,我尝试了不同的方式,但我不明白为什么它适用于'和',对我来说它应该是'或':
re=input("type w for write , r for read\n")
while re != 'w' and re!='r':
re=input("type w or r")
print("ok")
答案 0 :(得分:0)
not (re == 'w' or re =='r')
等于re != 'w' and re != 'r'
。当输入为'r'或'w'
答案 1 :(得分:0)
您的代码可以使用(Psuedo-Code)以简单的英语重写,如下所示:
1: GET INPUT FROM USER
INFORM THEM WE ARE ONLY INTERESTED IN "w" WHICH STANDS FOR "WRITE"
OR "r" WHICH STANDS FOR "READ"
2: SO LONG AS THE INPUT IS "NEITHER" w NOR r, KEEP PROMPTING THE USER
TO SUPPLY EITHER OF THE EXPECTED VALUES: "w" OR "r"
THIS IS IMPLIED BY THE LINE THAT READS:
while re != 'w' and re!='r':
re=input("type w or r")
3: HOWEVER, IF THE USER ENTERED THE REQUIRED STRING: w OR r,
LET US JUST GO AHEAD AND PRINT OK TO THE SCREEN
在另一种方式中,这也可以这样写:
writeRead = input("type w for write , r for read\n")
# SO LONG AS THE VALUE OF writeRead (re) IS NOT "w" AND IS ALSO NOT "r"
# (THIS IS WHAT YOU JUST SAID IN CODE HERE —> re != 'w' and re != 'r': )
while writeRead not in ('wr'):
writeRead = input("type w or r\n")
print("ok")
上面的片段是"是"功能上与...同义:
re = input("type w for write , r for read\n")
while re != 'w' and re!='r':
re = input("type w or r")
print("ok")