我在我的 python 类中有一个我正在努力的作业。
程序
这是基本前提:彩票计划。程序随机生成一个两位数,提示用户输入两位数,根据以下规则判断用户是否中奖:
- 如果用户的输入与彩票的顺序完全一致,则奖金为 10,000 美元
- 如果用户输入的所有数字都与彩票号码中的所有数字匹配,则奖金为 1,000 美元
- 如果用户输入的一位数字与彩票号码中的一位数字匹配,则奖金为 1,000 美元
基本格式
基本上,我使用 randint 生成一个两位数(比如说它生成 58)然后用户输入一个相同长度的数字(虽然没有指定,但为了简单起见,假设数字是 10 到 99)
然后通过一系列嵌套的 if 将数字与 3 个结果和 1 个异常进行比较。
问题:
我不知道如何以指定的方式比较数字。我知道所有基本运算符,但在这种情况下,我看不到使用它们的方法(除了可以使用 == 的完全匹配的数字)。我正在考虑一个数组(来自我的 C/C++ 类),但我不确定如何在这里实现它。这是我到目前为止所做的:
import random
import time
##Declare Variables
usernum=0.0
lottery_num=random.randint(10,99)
##Input
print("Welcome to the Lottery Program!")
usernum=int(input("Please enter a two digit number: "))
print("Calculating Results.")
for i in range(3):
time.sleep(1)
print(".")
##Calc & Output
if lottery_num==usernum:
print("All your numbers match in exact order! Your reward is $10,000!\n")
elif lottery_num== #WHAT DO HERE?
print("All your numbers match! Your reward is $3,000!\n")
elif lottery_num== #WHAT DO HERE?
print("One of your numbers match the lottery. Your reward is $1,000!\n")
else:
print("Your numbers don't match! Sorry!")
解决方案
在你们的帮助下,我终于想出了如何做到这一点!非常感谢!这是给那些对我所做的感兴趣的人的完整作业。
import random
import time
##Declare Variables
user_num=0
##lottery_num=random.randint(10,99)
lottery_num=12
##Input
print("Welcome to the Lottery Program!")
user_num=int(input("Please enter a two digit number: "))
print("Calculating Results.")
for i in range(3):
time.sleep(1)
print(".")
##Calc & Output
lottery_tens = lottery_num // 10
lottery_ones = lottery_num % 10
user_tens = user_num // 10
user_ones = user_num % 10
if lottery_num == user_num:
print("All your numbers match in exact order! Your reward is $10,000!\n")
elif lottery_tens == user_ones and lottery_ones == user_tens:
print("All your numbers match! Your reward is $3,000!\n")
elif lottery_tens == user_tens or lottery_ones == user_ones \
or lottery_ones == user_tens or lottery_tens == user_ones:
print("One of your numbers match the lottery. Your reward is $1,000!\n")
else:
print("Your numbers don't match! Sorry!")
##Same as Calc & Output using Sets.
##lottery_set = set('%02d' % lottery_num)
##user_set = set('%02d' % user_num)
##if lottery_num == user_num:
## print("All your numbers match in exact order! Your reward is $10,000!\n")
##elif lottery_set == user_set:
## print("All your numbers match! Your reward is $3,000!\n")
##elif lottery_set.intersection(user_set):
## print("One of your numbers match the lottery. Your reward is $1,000!\n")
##else:
## print("Your numbers don't match! Sorry!")