|
601 | 601 | }, |
602 | 602 | { |
603 | 603 | "cell_type": "code", |
604 | | - "execution_count": null, |
| 604 | + "execution_count": 2, |
605 | 605 | "id": "24ae95be", |
606 | 606 | "metadata": {}, |
607 | 607 | "outputs": [], |
|
624 | 624 | }, |
625 | 625 | { |
626 | 626 | "cell_type": "code", |
627 | | - "execution_count": null, |
| 627 | + "execution_count": 3, |
628 | 628 | "id": "3f9f0595", |
629 | 629 | "metadata": {}, |
630 | | - "outputs": [], |
| 630 | + "outputs": [ |
| 631 | + { |
| 632 | + "data": { |
| 633 | + "text/plain": [ |
| 634 | + "frozenset({'roll'})" |
| 635 | + ] |
| 636 | + }, |
| 637 | + "execution_count": 3, |
| 638 | + "metadata": {}, |
| 639 | + "output_type": "execute_result" |
| 640 | + } |
| 641 | + ], |
631 | 642 | "source": [ |
632 | 643 | "Die.__abstractmethods__" |
633 | 644 | ] |
634 | 645 | }, |
635 | 646 | { |
636 | 647 | "cell_type": "code", |
637 | | - "execution_count": null, |
| 648 | + "execution_count": 4, |
638 | 649 | "id": "9ee9b370", |
639 | 650 | "metadata": {}, |
640 | | - "outputs": [], |
| 651 | + "outputs": [ |
| 652 | + { |
| 653 | + "data": { |
| 654 | + "text/plain": [ |
| 655 | + "True" |
| 656 | + ] |
| 657 | + }, |
| 658 | + "execution_count": 4, |
| 659 | + "metadata": {}, |
| 660 | + "output_type": "execute_result" |
| 661 | + } |
| 662 | + ], |
641 | 663 | "source": [ |
642 | 664 | "# can also check if a method is abstract method\n", |
643 | 665 | "Die.roll.__isabstractmethod__" |
644 | 666 | ] |
645 | 667 | }, |
646 | 668 | { |
647 | 669 | "cell_type": "code", |
648 | | - "execution_count": null, |
| 670 | + "execution_count": 5, |
649 | 671 | "id": "a563237f", |
650 | 672 | "metadata": {}, |
651 | 673 | "outputs": [], |
|
664 | 686 | }, |
665 | 687 | { |
666 | 688 | "cell_type": "code", |
667 | | - "execution_count": null, |
| 689 | + "execution_count": 6, |
668 | 690 | "id": "efdf18a0", |
669 | 691 | "metadata": {}, |
670 | 692 | "outputs": [], |
|
684 | 706 | }, |
685 | 707 | { |
686 | 708 | "cell_type": "code", |
687 | | - "execution_count": null, |
| 709 | + "execution_count": 7, |
688 | 710 | "id": "be8d1c4c", |
689 | 711 | "metadata": {}, |
690 | 712 | "outputs": [], |
|
698 | 720 | }, |
699 | 721 | { |
700 | 722 | "cell_type": "code", |
701 | | - "execution_count": null, |
| 723 | + "execution_count": 8, |
702 | 724 | "id": "5a84300d", |
703 | 725 | "metadata": {}, |
704 | 726 | "outputs": [], |
|
708 | 730 | }, |
709 | 731 | { |
710 | 732 | "cell_type": "code", |
711 | | - "execution_count": null, |
| 733 | + "execution_count": 9, |
712 | 734 | "id": "c96244be", |
713 | 735 | "metadata": {}, |
714 | 736 | "outputs": [], |
|
719 | 741 | }, |
720 | 742 | { |
721 | 743 | "cell_type": "code", |
722 | | - "execution_count": null, |
| 744 | + "execution_count": 10, |
723 | 745 | "id": "66039237", |
724 | 746 | "metadata": {}, |
725 | | - "outputs": [], |
| 747 | + "outputs": [ |
| 748 | + { |
| 749 | + "data": { |
| 750 | + "text/plain": [ |
| 751 | + "14" |
| 752 | + ] |
| 753 | + }, |
| 754 | + "execution_count": 10, |
| 755 | + "metadata": {}, |
| 756 | + "output_type": "execute_result" |
| 757 | + } |
| 758 | + ], |
726 | 759 | "source": [ |
727 | 760 | "sd.total" |
728 | 761 | ] |
|
755 | 788 | "class YachtDice(Dice):\n", |
756 | 789 | " def __init__(self) -> None:\n", |
757 | 790 | " super().__init__(5, D6)\n", |
| 791 | + " # keep track of saved dice positions; these dice are not rolled\n", |
758 | 792 | " self.saved: Set[int] = set()\n", |
759 | 793 | " \n", |
760 | 794 | " # save dice positions in the saved set\n", |
| 795 | + " # save dice positions are not rolled\n", |
761 | 796 | " def saving(self, positions: Iterable[int]) -> \"YactDice\":\n", |
762 | | - " if not all(0 <= n < 6 for n in positions):\n", |
| 797 | + " if not all(0 <= n < 5 for n in positions):\n", |
763 | 798 | " raise ValueError(\"Invalid position\")\n", |
764 | 799 | " self.saved = set(positions)\n", |
765 | 800 | " return self\n", |
|
774 | 809 | }, |
775 | 810 | { |
776 | 811 | "cell_type": "code", |
777 | | - "execution_count": null, |
| 812 | + "execution_count": 12, |
778 | 813 | "id": "928a03b4", |
779 | 814 | "metadata": {}, |
780 | | - "outputs": [], |
| 815 | + "outputs": [ |
| 816 | + { |
| 817 | + "data": { |
| 818 | + "text/plain": [ |
| 819 | + "frozenset()" |
| 820 | + ] |
| 821 | + }, |
| 822 | + "execution_count": 12, |
| 823 | + "metadata": {}, |
| 824 | + "output_type": "execute_result" |
| 825 | + } |
| 826 | + ], |
781 | 827 | "source": [ |
782 | 828 | "YachtDice.__abstractmethods__" |
783 | 829 | ] |
784 | 830 | }, |
785 | 831 | { |
786 | 832 | "cell_type": "code", |
787 | | - "execution_count": null, |
| 833 | + "execution_count": 13, |
788 | 834 | "id": "294f3571", |
789 | 835 | "metadata": {}, |
790 | 836 | "outputs": [], |
|
794 | 840 | }, |
795 | 841 | { |
796 | 842 | "cell_type": "code", |
797 | | - "execution_count": null, |
| 843 | + "execution_count": 14, |
798 | 844 | "id": "be908eed", |
799 | 845 | "metadata": {}, |
800 | 846 | "outputs": [], |
|
804 | 850 | }, |
805 | 851 | { |
806 | 852 | "cell_type": "code", |
807 | | - "execution_count": null, |
| 853 | + "execution_count": 15, |
808 | 854 | "id": "70ae5f89", |
809 | 855 | "metadata": {}, |
810 | | - "outputs": [], |
| 856 | + "outputs": [ |
| 857 | + { |
| 858 | + "data": { |
| 859 | + "text/plain": [ |
| 860 | + "[5, 2, 5, 4, 2]" |
| 861 | + ] |
| 862 | + }, |
| 863 | + "execution_count": 15, |
| 864 | + "metadata": {}, |
| 865 | + "output_type": "execute_result" |
| 866 | + } |
| 867 | + ], |
811 | 868 | "source": [ |
812 | 869 | "yd.dice" |
813 | 870 | ] |
814 | 871 | }, |
815 | 872 | { |
816 | 873 | "cell_type": "code", |
817 | | - "execution_count": null, |
| 874 | + "execution_count": 16, |
818 | 875 | "id": "bbce1428", |
819 | 876 | "metadata": {}, |
820 | 877 | "outputs": [], |
|
824 | 881 | }, |
825 | 882 | { |
826 | 883 | "cell_type": "code", |
827 | | - "execution_count": null, |
| 884 | + "execution_count": 17, |
828 | 885 | "id": "7101639e", |
829 | 886 | "metadata": {}, |
830 | | - "outputs": [], |
| 887 | + "outputs": [ |
| 888 | + { |
| 889 | + "data": { |
| 890 | + "text/plain": [ |
| 891 | + "[5, 5, 1, 4, 2]" |
| 892 | + ] |
| 893 | + }, |
| 894 | + "execution_count": 17, |
| 895 | + "metadata": {}, |
| 896 | + "output_type": "execute_result" |
| 897 | + } |
| 898 | + ], |
831 | 899 | "source": [ |
832 | 900 | "yd.dice" |
833 | 901 | ] |
834 | 902 | }, |
835 | 903 | { |
836 | 904 | "cell_type": "code", |
837 | | - "execution_count": null, |
| 905 | + "execution_count": 18, |
838 | 906 | "id": "733f13c2", |
839 | 907 | "metadata": {}, |
840 | 908 | "outputs": [], |
|
844 | 912 | }, |
845 | 913 | { |
846 | 914 | "cell_type": "code", |
847 | | - "execution_count": null, |
| 915 | + "execution_count": 19, |
848 | 916 | "id": "300b2bc4", |
849 | 917 | "metadata": {}, |
850 | | - "outputs": [], |
| 918 | + "outputs": [ |
| 919 | + { |
| 920 | + "data": { |
| 921 | + "text/plain": [ |
| 922 | + "[5, 5, 1, 3, 2]" |
| 923 | + ] |
| 924 | + }, |
| 925 | + "execution_count": 19, |
| 926 | + "metadata": {}, |
| 927 | + "output_type": "execute_result" |
| 928 | + } |
| 929 | + ], |
851 | 930 | "source": [ |
852 | 931 | "yd.dice" |
853 | 932 | ] |
854 | 933 | }, |
855 | 934 | { |
856 | 935 | "cell_type": "code", |
857 | | - "execution_count": null, |
| 936 | + "execution_count": 20, |
858 | 937 | "id": "ac973bc5", |
859 | 938 | "metadata": {}, |
860 | | - "outputs": [], |
| 939 | + "outputs": [ |
| 940 | + { |
| 941 | + "data": { |
| 942 | + "text/plain": [ |
| 943 | + "16" |
| 944 | + ] |
| 945 | + }, |
| 946 | + "execution_count": 20, |
| 947 | + "metadata": {}, |
| 948 | + "output_type": "execute_result" |
| 949 | + } |
| 950 | + ], |
861 | 951 | "source": [ |
862 | 952 | "yd.total" |
863 | 953 | ] |
|
1090 | 1180 | ], |
1091 | 1181 | "metadata": { |
1092 | 1182 | "kernelspec": { |
1093 | | - "display_name": "Python 3 (ipykernel)", |
| 1183 | + "display_name": "Python 3", |
1094 | 1184 | "language": "python", |
1095 | 1185 | "name": "python3" |
1096 | 1186 | }, |
|
1104 | 1194 | "name": "python", |
1105 | 1195 | "nbconvert_exporter": "python", |
1106 | 1196 | "pygments_lexer": "ipython3", |
1107 | | - "version": "3.10.8" |
1108 | | - }, |
1109 | | - "vscode": { |
1110 | | - "interpreter": { |
1111 | | - "hash": "1a1af0ee75eeea9e2e1ee996c87e7a2b11a0bebd85af04bb136d915cefc0abce" |
1112 | | - } |
| 1197 | + "version": "3.9.6" |
1113 | 1198 | } |
1114 | 1199 | }, |
1115 | 1200 | "nbformat": 4, |
|
0 commit comments