来自Y Daniel Liang的python彩票程序
我是python新手。下面是Y Daniel Liang Python书籍第4章中的一个实践编程练习。 如果彩票号码是333,我得到了不同用户输入的完美匹配,比如13323435336337383933,我不知道为什么来自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(
#!/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