当前位置: 代码迷 >> python >> 赌场-运气随机-Python
  详细解决方案

赌场-运气随机-Python

热度:58   发布时间:2023-06-16 10:08:16.0

对不起我的英语不好。 每个月我去赌场玩一次,每月一次。 我的决策标准:随机模块找到在赌场玩的日和周,只有一个例外,不接受随机模块在周和日玩的最后一个月。 例如,如果我去10月14日,则11月的一天应该是任何一天,但不是14日。 这是我的代码:例如,如果我输入相同的数字“ 2”,则程序不会在上个月的一周中消除数字“ 2”。 请帮忙。

import random

zz = raw_input ("Please enter the last week number: ")

fx = int(zz)

print fx



week_randoms=[]

gg = week_randoms


for i in range (4):

    gg = week_randoms

    gg.append(random.randrange(1,5))

print gg

hh = gg[0:1]


if fx != hh:

    print "You got your number baby", hh

else:
    print  "Run this program again"

试试这个,它将为您提供未来12个月的日期。 它将排除29-31天,因此我们没有得到任何假想的日子,例如2月31日。

import random
days = range(1,29)
months = ['January','February','March','April','May','June','July','August','September','October','November','December']
for a in months:
    b = random.choice(days)
    days.remove(b)
    print "Go on Day " + str(b) + " of the month of " + a " "."

您只需跟踪所选的最后一天的数字,并确保不再选择它。 对于今年(或任何其他leap年):

import random
months = ['January','February','March','April','May','June','July','August','September','October','November','December']
days_in_months = [31,29,31,30,31,30,31,31,30,31,30,31]
last_day_number = None
for month,ndays in zip(months,days_in_months):
    while True:
        day_number = random.randint(1,ndays)
        if day_number != last_day_number:
            break
    last_day_number = day_number
    print(day_number, month, '2016')

例如

28 January 2016
22 February 2016
21 March 2016
13 April 2016
21 May 2016
24 June 2016
25 July 2016
9 August 2016
16 September 2016
12 October 2016
5 November 2016
7 December 2016

祝好运!

的实现的修改的版本:

import calendar
import random

last_pick = None

for i in range(1, 13):
    month = calendar.month_name[i]
    _, end = calendar.monthrange(2016, i)

    while True:
        day = random.randint(1, end)

        if day != last_pick:
            break

    last_pick = day

    print(day, month, 2016)