Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自Y Daniel Liang的python彩票程序_Python - Fatal编程技术网

来自Y Daniel Liang的python彩票程序

来自Y Daniel Liang的python彩票程序,python,Python,我是python新手。下面是Y Daniel Liang Python书籍第4章中的一个实践编程练习。 如果彩票号码是333,我得到了不同用户输入的完美匹配,比如13323435336337383933,我不知道为什么 #!/usr/bin/env python3 #import random lottery = 333 #random.randint(100, 999) guess = int(input("\nEnter a three-digit number: ")) print(

我是python新手。下面是Y Daniel Liang Python书籍第4章中的一个实践编程练习。 如果彩票号码是333,我得到了不同用户输入的完美匹配,比如13323435336337383933,我不知道为什么

#!/usr/bin/env python3

#import random

lottery = 333  #random.randint(100, 999)
guess = int(input("\nEnter a three-digit number: "))
print("\nThe Lottery Number is:", lottery)

lottery_digit1 = lottery // 100
lottery %= 100
lottery_digit2 = lottery // 10
lottery_digit3 = lottery % 10

guess_digit1 = guess // 100
guess %= 100
guess_digit2 = guess // 10
guess_digit3 = guess % 10

if guess == lottery:
    print("Perfect Match: First Prize $10,000")
elif (guess_digit1 == lottery_digit1 or
      guess_digit1 == lottery_digit2 or
      guess_digit1 == lottery_digit3) and \
    (guess_digit2 == lottery_digit1 or
     guess_digit2 == lottery_digit2 or
     guess_digit2 == lottery_digit3) and \
    (guess_digit3 == lottery_digit1 or
     guess_digit3 == lottery_digit2 or
     guess_digit3 == lottery_digit3):
    print("Matching All Digits: Second Prize $3,000")
elif (guess_digit1 == lottery_digit1 or
      guess_digit1 == lottery_digit2 or
      guess_digit1 == lottery_digit3) or \
    (guess_digit2 == lottery_digit1 or
     guess_digit2 == lottery_digit2 or
     guess_digit2 == lottery_digit3) or \
    (guess_digit3 == lottery_digit1 or
     guess_digit3 == lottery_digit2 or
     guess_digit3 == lottery_digit3):
    print("Matching a Single Digit: Third Prize $1,000")
else:
    print("Nice Try.")

当最后两位数字相同时,您得到匹配的原因是因为以下几行:

lottery %= 100
...
guess %= 100
你正在改变彩票和猜猜的价值。
+=
-=
*=
/=
%=
运算符更改所用变量的值。因此,执行此操作后,变量变为:

lottery =333
lottery %= 100
#lottery is now 33


这是一本关于如何编写意大利面条代码的教科书吗?
guess = 733
guess %= 100
#guess is now 33