我希望把它变成一个应用程序,提醒自己每隔一段时间思考一下。我想问为什么' /'为什么不'每次我输入一个输入。我想确定notoriginal
/ alsonotoriginal
的长度是偶数还是奇数的决定性因素。
print ('Have you thought today?')
original = input('Yes or No:')
if len(original) > 2:
notoriginal = input('When?:')
elif len(original) < 3:
alsonotoriginal = input('Why?:')
while len(notoriginal) % 2 == 0:
input('Why not?:')
while len(notoriginal) % 2 > 0:
input('Why?:')
while len(alsonotoriginal) % 2 == 0:
input('Why not?:')
while len(alsonotoriginal) % 2 > 0:
input('Why?:')
你们是最好的!谢谢!
编辑:谢谢你的帮助。我意识到这是一个非常简单的事情,我搞砸了。我还要指出,我已经将原始/非原创更改为更好的变量名称,例如第二,第三和第四。我解决了我遇到的问题,我接受了你的建议。我感到困惑/忘记的是,你可以在代码中稍后重命名变量,整个变量都会改变。我有这个:
print ('Have you thought today?')
first = input('Yes or No:')
if len(*first*) > 2:
**second** = input('When?:')
elif len(*second*) < 3:
**third** = input('Why?:')
if len(third) % 2 == 0:
fourth = input('Why not?:')
else:
fifth = input('Why?:')
while len(fourth) % 2 == 0:
fifth = input('Why?')
while len(fourth) % 2 > 0:
sixth = input('Why not?')
问题是我一直在重命名变量,当它们不必重命名时,实际上因为重命名而导致错误。当我应该调用代码来检查具有两个单独结果值的单个变量时,我正在调用代码来评估两个单独的变量,如下所示:
print ('Have you thought today?')
first = input('Yes or No:')
if len(first) > 2:
second = input('When?:')
elif len(first) < 3:
second = input('Why?:')
if len(second) % 2 == 0:
third = input('Why not?:')
else:
third = input('Why?:')
while len(third) % 2 == 0:
third = input('Why?')
while len(third) % 2 > 0:
third = input('Why not?')
答案 0 :(得分:2)
%(modulo)运算符从除法的除法中产生余数 第二个论点。数字参数是第一个 转换为普通类型。一个零权利的论点提出了 ZeroDivisionError异常。参数可能是浮点数 数字,例如,3.14%0.7等于0.34(因为3.14等于4 * 0.7 + 0.34。) 模运算符总是产生一个与其符号相同的结果 第二个操作数(或零);结果的绝对值是严格的 小于第二个操作数的绝对值
要划分len('word')
,您可以使用/
操作数,但是通过使用% 2
操作,您可以通过分析结果确定数字是否均匀,如果是返回0,它是偶数,如果不是,它是奇数,如下:
number = input('Type a number: ')
if number % 2 == 0:
print('Even')
else:
print('Odd')
您的代码循环并且似乎卡在“为什么?”的原因?&#39;问题是因为您使用的是while len(notoriginal) % 2 > 0
和while len(alsonotoriginal) % 2 > 0
,因为notoriginal
和alsonotoriginal
值在输入后没有变化,您会得到所谓的& #39;无限循环&#39;,相同的while
循环将永远运行。要解决此问题,您可以使用while
和if
语句,而不是使用elif
,但这样做会要求您修复代码逻辑,因为它存在很大缺陷此刻。
永远不要将这些通用名称称为变量,这只会让以后的调试变得非常混乱。