1
模数计算
我有下面的代码,其中有条目的一个特定组合,一个神秘的错误:错误在Python
它*出现“为一切而对于投入正常工作:”星期五“和 ”1000“,它抛出一个变量错误
全部代码: https://repl.it/Jd6a/0
代码
#Use of Modulo Arithmetic
def main():
DAY="Monday"
print("Here's a little modulo magic for ya...")
dayofweek=input("Enter day of week (e.g. Monday, Tuesday, Wednesday, etc:")
numberofdays=input("Enter number of days from that day of the week you would like to calculate:")
if dayofweek=="Monday":
dow=1
elif dayofweek=="Tuesday":
dow=2
elif dayofweek=="Wednesday":
dow=3
elif dayofweek=="Thursday":
dow=4
elif dayofweek=="Friday":
dow=5
elif dayofweek=="Saturday":
dow=6
elif dayofweek=="Sunday":
dow=7
modanswer=int(numberofdays)%7
answer=modanswer+dow
if answer==1:
finalanswer="Monday"
elif answer==2:
finalanswer="Tuesday"
elif answer==3:
finalanswer="Wednesday"
elif answer==4:
finalanswer="Thursday"
elif answer==5:
finalanswer="Friday"
elif answer==6:
finalanswer="Saturday"
elif answer==7:
finalanswer="Sunday"
print(numberofdays,"days from -",dayofweek,"-will be-",finalanswer)
main()
测试(正确)和错误下面显示的
Here's a little modulo magic for ya...
Enter day of week (e.g. Monday, Tuesday, Wednesday, etc: Monday
Enter number of days from that day of the week you would like to calculate: 1000000
1000000 days from - Monday -will be- Tuesday
main()
Here's a little modulo magic for ya...
Enter day of week (e.g. Monday, Tuesday, Wednesday, etc: Friday
Enter number of days from that day of the week you would like to calculate: 1000
Traceback (most recent call last):
File "python", line 1, in <module>
File "python", line 42, in main
UnboundLocalError: local variable 'finalanswer' referenced before assignment
我在找什么:
我很想在一个)与解释问题的解决b)通过验证来解决问题的更优雅方式(使用更简单的构造)
谢谢!添加后应用模运算会导致错误:answer = modanswer + dow modanswer = int(numberofdays)%7 error UnboundLocalError:分配前引用的本地变量'modanswer' – MissComputing
@MissComputing请参阅更新。你不能使用Python中一行定义的变量。 –
会看。这不是简单的工作:modanswer = 0 answer = modanswer + dow modanswer = int(numberofdays)%7 打印(回答)..它似乎! (如以下由Compoot所建议) – MissComputing